分类
Java

Android x86 下dalvikvm执行java程序 报错及解决办法

Android 4.22 X86  vmware.

root以后(after rooted)

dalvikvm 下执行java Helloworld.java (32bit jvm 1.6)程序

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

CMD下执行

javac Helloworld.java 得到 Helloworld.class

D:\Program Files\AndroidSDK\build-tools\19.1.0\dx.bat –dex –output=Helloworld.dex Helloworld.class 得到Helloworld.dex

上传到(upload to) vmware android x86 /sdcard

adb shell dalvikvm -cp /sdcard/Helloworld.dex Helloworld
root以后如果/data/dalvik-cache 权限不足会报错:

Unable to locate class ‘Helloworld’
java.lang.NoClassDefFoundError: Helloworld
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn’t find class “Helloworld” on path: DexPathList

shell 里面修改下权限 chmod 777 /data/dalvik-cache
或者 or:(android4.2+)
adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/Helloworld.dex Helloworld (dex要用绝对路径)

 

发表评论

电子邮件地址不会被公开。