2010年11月20日 星期六

[Android] 在Android shell以Dalvik VM執行Java應用程式

由於Android上的Java程式需要在Dalvik VM下才能執行,因此Android上的App就是透過Zygote去fork出child process去執行,但如果我們希望可以直接在Android的shell下執行Java應用程式,需要一些小技巧

1.撰寫Java測試程式HelloWorld.java
//
// HelloWorld.java
//
public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!!\n");
    }   
}

2.編譯HelloWorld.java
$ javac HelloWorld.java

3.將dx設在環境變數路徑
$ export PATH={path/to/sdk}/platforms/{android-platform-number}/tools:$PATH

4.以dx工具將bytecode轉成Dalvik executable format(.dex)格式的jar
$ dx --dex --output=helloworld.jar HelloWorld.class

5.上傳到模擬器
$ adb push helloworld.jar /data

6.在Android shell下執行
$ adb shell
# /system/bin/dalvikvm -cp /data/helloworld.jar HelloWorld
Hello World!!

沒有留言: