首页
社区
课程
招聘
[求助]adb shell dalvikvm 命令出错什么原因
2014-2-26 17:57 22243

[求助]adb shell dalvikvm 命令出错什么原因

2014-2-26 17:57
22243
第三掌 3.4.3
adb shell dalvikvm -cp /data/local/tmp/HelloWorld.zip HelloWorld
出错输出
Dalvik VM unable to locate class 'HelloWorld'

对了没法放到/data/local/目录下,提示没权限

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
免费 0
打赏
分享
最新回复 (13)
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
malokch 2 2014-2-26 18:09
2
0
HelloWorld.zip要用dx tool将java字节码转换成dalvik字节码
不是用dalvikvm,而是用app_process
雪    币: 16
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kell星辰 2014-3-1 14:23
3
0
HelloWorld.zip中有个dalvik字节码文件,我是直接用书中源码中的这个文件。
不是用dalvikvm,而是用app_process?
adb shell dalvikvm -cp /data/local/tmp/HelloWorld.zip HelloWorld
不能用这条指令执行吗,对了app_process是啥
雪    币: 90
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
月蓝 2014-3-2 11:37
4
0
-cp 是  class path 的缩写 ,选项后面跟的是 class 文件的路径 。

我直接用书中的文件测试过 ,是可以执行的 。

/data/local 没有权限路径我放在了 /sdcard/HelloWorld.zip , 也能执行 。
雪    币: 74
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tmacfalcon 2014-3-22 19:30
5
0
出错输出
Dalvik VM unable to locate class 'HelloWorld'

------------------------------------------------------------------
这个问题我也碰到过,不知道跟你原因是否一样,
我用smali.jar编译HelloWorld.smali文件的时候输出的dex文件名定义为HelloWorld.dex,结果出错,后来按照书里的java -jar smali.jar -o classes.dex HelloWorld.smali执行,最后测试运行结果就正确了。
雪    币: 74
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tmacfalcon 2014-3-22 19:40
6
0
或者这样也可行,不打包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
雪    币: 16
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kell星辰 2014-3-23 21:15
7
0
谢了,我试试
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xyweizhi 2015-1-22 16:39
8
0
楼主,问题解决了吗?我也遇到了,都试了,还是报错
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xyweizhi 2015-1-22 16:46
9
0
我直接在shell里执行就可以了
上传的附件:
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xyweizhi 2015-1-22 16:47
10
0
经过研究应该是权限的问题
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小小小菜鸟 2015-9-7 23:37
11
0
如果提示没有权限,用9楼的办法可以,步骤:
1.adb shell
2.su,然后手机允许获得权限
3.chmod -R 777 /data/local修改该目录权限即可
雪    币: 62
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
byroncheng 2015-11-3 23:12
12
0
很想知道那个HelloWorld.zip文件是怎么来的。。。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lalapapa 2015-12-18 13:01
13
0
用su 管理员权限执行命令
雪    币: 69
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qkdnysg 2016-3-25 14:12
14
0
刚开始我也有这个问题,后来才发现其实就是直接压缩dex得来的
游客
登录 | 注册 方可回帖
返回