dx使用出现的错误总结
来源:互联网 发布:中国软件市场分析 编辑:程序博客网 时间:2024/05/09 19:21
使用dx的各种悲剧错误,一直一直搞啊搞,搞了三天之后才把这么个小错误搞定
做程序员不易浮躁啊,还有就是要真的是要锲而不舍啊!!!!!!!
错误一:
UNEXPECTED TOP-LEVEL EXCEPTION:java.lang.RuntimeException: abc.class: file not found at com.android.dx.util.FileUtils.readFile(FileUtils.java:55) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:134) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:422) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333) at com.android.dx.command.dexer.Main.run(Main.java:209) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91)1 error; aborting
当你出现这个运行时错误的话,那就是你需要编译的文件需要和你安卓的platform-tool这个文件夹中的内容放在一起
你要做的就是把你的文件放在和dexdump.exe文件和dx.bat放在同一个目录下
这个样子就可以编译通过成功生成dex文件了
错误二:
trouble processing:bad class file magic (cafebabe) or version (0033.0000)...while parsing Hello.class...while processing Hello.class1 warningno classfiles specified
出现这个错误的原因是因为jdk的版本不对,我之前用的是JDK1.7但是不知道为什么他编译之后生成的JDK的版本会低于jdk1.6真是让我百思不得其解?
也不知道这个代码是怎么写的
之后我上网查了一下,我把JDK1.7换成了JDK1.6,可是还是不行,出现了相同的提示,结果展示如下
这个时候解决的办法有一个:
强制转换成1.6版本的class
使用的到的命令就是javac -source 1.6 -target 1.6 ****.java(****代表了你的java文件名称)
具体步骤演示如下:
1.编写一个java文件
2.使用javac命令:javac -source 1.6 -target 1.6 ******.java 注意你编写的必须是在你的android的platform-tools文件目录下
3.使用dx命令 dx --dex --output =*****.dex *****.class
dexdump.exe -d *****.dex
这个时候我们来看一下结果
D:\Android\android-sdk\platform-tools>dx --dex --output=abc.dex abc.classD:\Android\android-sdk\platform-tools>dexdump.exe -d abc.dexProcessing 'abc.dex'...Opened 'abc.dex', DEX version '035'Class #0 - Class descriptor : 'Labc;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in Labc;) name : '<init>' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units000160: |[000160] abc.<init>:()V000170: 7010 0500 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0005000176: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=2 locals : 0x0000 - 0x0004 reg=0 this Labc; #1 : (in Labc;) name : 'main' type : '([Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) code - registers : 3 ins : 1 outs : 2 insns size : 30 16-bit code units000178: |[000178] abc.main:([Ljava/lang/String;)V000188: 1250 |0000: const/4 v0, #int 5 // #500018a: 1271 |0001: const/4 v1, #int 7 // #700018c: 2311 0600 |0002: new-array v1, v1, [I // type@0006000190: 2601 0800 0000 |0004: fill-array-data v1, 0000000c // +00000008000196: 7120 0200 1000 |0007: invoke-static {v0, v1}, Labc;.test:(I[I)V // method@000200019c: 0e00 |000a: return-void00019e: 0000 |000b: nop // spacer0001a0: 0003 0400 0700 0000 0100 0000 0100 ... |000c: array-data (18 units) catches : (none) positions : 0x0000 line=18 0x000a line=19 0x000b line=18 locals : #2 : (in Labc;) name : 'test' type : '(I[I)V' access : 0x0089 (PUBLIC STATIC VARARGS) code - registers : 6 ins : 2 outs : 2 insns size : 20 16-bit code units0001c4: |[0001c4] abc.test:(I[I)V0001d4: 2151 |0000: array-length v1, v50001d6: 1200 |0001: const/4 v0, #int 0 // #00001d8: 3510 0c00 |0002: if-ge v0, v1, 000e // +000c0001dc: 4402 0500 |0004: aget v2, v5, v00001e0: 6203 0000 |0006: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@00000001e4: 6e20 0300 2300 |0008: invoke-virtual {v3, v2}, Ljava/io/PrintStream;.print:(I)V // method@00030001ea: d800 0001 |000b: add-int/lit8 v0, v0, #int1 // #010001ee: 28f5 |000d: goto 0002 // -000b0001f0: 6200 0000 |000e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@00000001f4: 6e20 0400 4000 |0010: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(I)V // method@00040001fa: 0e00 |0013: return-void catches : (none) positions : 0x0000 line=10 0x0006 line=12 0x000b line=10 0x000e line=14 0x0013 line=15 locals : Virtual methods - source_file_idx : 12 (abc.java)
如果你有任何的问题,可以给我留言,我会及时回复!^^
之前走了好多弯路希望能帮上大家!^^
安利一个微信公众号~欢迎多多关注哟~定期推送IT面试经典问题~
谢谢大家
- dx使用出现的错误总结
- dev dx:ASPxButton的使用总结
- 在vs2010中配置DX时出现错误的解决办法
- 使用Unicode字符集出现的错误总结
- dx 工具的使用
- 使用Android Studio运行Android程序,出现错误:Error:java.lang.UnsupportedClassVersionError: com/android/dx/comman
- CKFinder使用过程中出现的错误总结
- cocos2d-x使用瓦片地图出现的错误总结
- 2dx JniHelper的使用
- dx编译Hello.java的总结
- 使用Ibatis,出现的错误
- 使用PopupWindow出现的错误
- 使用FragmentTabHost出现的错误!
- 使用SDCycleScrollvVew出现的错误
- 使用D2D出现的错误
- 自己项目中出现的错误总结:
- Qt中出现的错误总结
- Qt中出现的错误总结
- 《富爸爸、穷爸爸》精华摘要
- A. Postcards and photos
- 人一生当中最应该珍惜的十种人
- 深入理解C语言指针的奥秘(转载)
- java实现二叉树查找,先,中,后序编列
- dx使用出现的错误总结
- Vmware下共享文件夹
- 给年轻程序员的建议
- 学习控件流水灯
- 拓展后的流水灯。
- winAVR 全局变量volatile
- 愿君相思莫相负,牡丹亭上三生路。
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- 八皇后问题 回溯法