能力值:
( LV9,RANK:140 )
|
-
-
2 楼
HelloWorld.zip要用dx tool将java字节码转换成dalvik字节码
不是用dalvikvm,而是用app_process
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
HelloWorld.zip中有个dalvik字节码文件,我是直接用书中源码中的这个文件。
不是用dalvikvm,而是用app_process?
adb shell dalvikvm -cp /data/local/tmp/HelloWorld.zip HelloWorld
不能用这条指令执行吗,对了app_process是啥 ?
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
-cp 是 class path 的缩写 ,选项后面跟的是 class 文件的路径 。
我直接用书中的文件测试过 ,是可以执行的 。
/data/local 没有权限路径我放在了 /sdcard/HelloWorld.zip , 也能执行 。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
出错输出
Dalvik VM unable to locate class 'HelloWorld'
------------------------------------------------------------------
这个问题我也碰到过,不知道跟你原因是否一样,
我用smali.jar编译HelloWorld.smali文件的时候输出的dex文件名定义为HelloWorld.dex,结果出错,后来按照书里的java -jar smali.jar -o classes.dex HelloWorld.smali执行,最后测试运行结果就正确了。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
或者这样也可行,不打包dex文件:
1. java -jar smali.jar -o HelloWorld.dex HelloWorld.smali
2. adb push HelloWorld.dex /data/local/
3. adb shell dalvikvm -cp /data/local/HelloWorld.dex HelloWorld
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢了,我试试
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
楼主,问题解决了吗?我也遇到了,都试了,还是报错
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
经过研究应该是权限的问题
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
如果提示没有权限,用9楼的办法可以,步骤:
1.adb shell
2.su,然后手机允许获得权限
3.chmod -R 777 /data/local修改该目录权限即可
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
很想知道那个HelloWorld.zip文件是怎么来的。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
用su 管理员权限执行命令
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
刚开始我也有这个问题,后来才发现其实就是直接压缩dex得来的
|
|
|