2012-01-04 54 views
1

我們爲嵌入式產品構建Android平臺。基本上你可以認爲它是一個紮根的機器人框。
如何在Android設備上根據J2SE JVM調用Java類?

我們有爲標準J2SE環境開發的Java代碼。我將它移植到Android。部分代碼被封裝在一個android服務中,並在服務中啓動。有些部分要求它以超級用戶權限運行。就像在/ dev目錄文件夾中打開文件,低於1024等

我想知道如果我能在J2SE風格的公共Java類包裝這個代碼,並直接使用的Dalvik(即像「的Dalvik調用它綁定到TCP端口 - 類路徑<路徑到罐子> mycompany.MyWrapper「)。
我欣賞任何描述如何做到這一點的鏈接。

由於

回答

2

可以通過命令行直接調用的Dalvik,並與標準的靜態主(字符串[] args)方法執行的一類。

dalvikvm -cp <jar_file> <class_name>

對於一個完整的例子,假設你有Hello.java

public class Hello 
{ 
    public static void main(String[] args) { 
     System.out.println("Hello World"); 
    } 
} 

下面的類定義,然後實際的設備上運行它:

javac Hello.java 
dx --dex --output=classes.dex Hello.class 
zip Hello.zip classes.dex 
adb push Hello.zip /sdcard/ 
adb shell dalvikvm -cp /sdcard/Hello.zip Hello 
+0

作爲一個側面說明 - 這甚至不需要根植設備。 – JesusFreke 2012-01-05 06:07:27