use*_*567 6 android dx android-source
我正在尝试https://android.googlesource.com/platform/dalvik/+/gingerbread/docs/hello-world.html上的Hello World示例
但是,我的Foo程序没有运行; dalvikvm抱怨如下:
Dalvik VM无法找到类'Foo'java.lang.NoClassDefFoundError:Foo at dalvik.system.NativeStart.main(Native Method)引起:java.lang.ClassNotFoundException:Foo in loader dalvik.system.PathClassLoader [/ mnt/sdcard /foo.jar]在java.lang.ClassLoader.loadClass(ClassLoader.java:532)的java.lang.ClassLoader.loadClass(ClassLoader.java:573)的dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) ......还有1个
在dalvikvm调用期间,Logcat提供了更多信息:
D/dalvikvm(1361):创建instr宽度表E/dalvikvm(1361):无法打开dex缓存'/data/dalvik-cache/mnt@sdcard@foo.jar@classes.dex':没有这样的文件或目录I/dalvikvm(1361):无法为/mnt/sdcard/foo.jar打开或创建缓存(/ data /dalvik-cache/mnt@sdcard@foo.jar@classes.dex)W/dalvikvm(1361):threadid = 1:线程退出未捕获的异常(组= 0x4 001e9a8)
有没有人知道我做错了什么?
use*_*567 10
这篇文章的作者Andy McFadden给了我一个提示:
它正在尝试在/ data/dalvik-cache中创建一个.odex文件.您需要以root用户身份运行,或者拥有不受保护的/ data/dalvik-cache.
一旦我植根我的设备(例如使用SuperOneClick),它就有效了!
@domen的评论:你实际上不必是root.您可以设置ANDROID_DATA环境变量,它会将缓存放在那里.即mkdir /data/local/tmp/dalvik-cache,export ANDROID_DATA=/data/local/tmp.
| 归档时间: |
|
| 查看次数: |
4345 次 |
| 最近记录: |