首页
社区
课程
招聘
dx --dex --output=hello.dex hello.class 报错
发表于: 2014-11-21 09:42 12361

dx --dex --output=hello.dex hello.class 报错

2014-11-21 09:42
12361
本人的系统win7 64位,搭建了android 开发环境,
sdk r23.0.2
ADT-23.0.2
java version "1.8.0_25"

最近在学校 非虫 出版的 《Android软件安全与逆向分析》 这边书

书的第31 页 有个hello.java
我执行了
E:\Android\reverse>javac Hello.java  得到 hello.class

然后执行 dx指令 dx.bat 这个文件 好多地方都有 不知道用哪个
我使用 E:\Android\android-sdk\build-tools\21.1.1 把这个路径添加到环境变量 path中了

E:\Android\reverse>dx --dex --output=hello.dex hello.class 报错
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: class name (Hello) does not match path (
hello.class)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:
520)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:4
06)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary
(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.jav
a:251)
        at com.android.dx.command.dexer.Main.processClass(Main.java:665)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
        at com.android.dx.command.dexer.Main.access$600(Main.java:78)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.j
ava:170)

感觉这个 android 环境搭建真是累人,版本匹配,在线安装,跟vs傻瓜式的没法比,上面的错误好像网上有人说是 java版本问题,,我又安装了jdk 1.7 还是不行,,晕了,谢谢各位了,

[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 233
活跃值: (285)
能力值: ( LV12,RANK:270 )
在线值:
发帖
回帖
粉丝
2
class name (Hello) does not match path (hello.class)


这已经说得很清楚了啊
2014-11-21 10:07
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢你的解答,我把 hello.java 拷贝到 dx 所在目录
E:\Android\android-sdk\build-tools\21.1.1

完了再运行 也是报错,这次错误有点不一样的,,网上有人说是 版本的问题 是不是我dx 版本的问题
我发现 好多地方有dx.bat这个文件,

E:\Android\android-sdk\build-tools\21.1.1>javac hello.java

E:\Android\android-sdk\build-tools\21.1.1>dx --dex --output=hello.dex hello.clas
s

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or versi
on (0034.0000)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:
472)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:4
06)
2014-11-21 10:59
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
用eclipse吧

Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please fix project properties

检查Project -> Properties->Java Compiler
确认JDK compliance被设置为1.6,并且enable specific seetings.
2014-11-21 14:36
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢解答,,
2014-11-21 15:18
0
雪    币: 371
活跃值: (94)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
楼主最后解决了吗?我现在也是在看非虫的书,同样的问题,没有解决
2017-2-22 20:19
0
游客
登录 | 注册 方可回帖
返回
//