java文件:txt文本保存后,修改为.java文件即可
class文件:.java文件经java编译器编译后生成对应的.java文件
生成方法1.在eclipse中选中某一个类,然后导出为jar文件。将得到的jar文件修改为.zip文件然后解压,即可看到想要的.class文件
生成方法2.使用cmd命令行命令编译java文件“javac 绝对路径\xx.java”
我们可以使用javap命令来查看Hello.class文件对应的java字节码,命令行输入“javap -c 绝对路径\Hello.class”
将class文件转换为dex文件
实现class文件转换成dex文件的方法很多,这里只阐述一种,用命令行实现。
这里需要特别提示一点:我们这里使用sdk中提供的dx.jar来实现class文件转换成dex文件,这个时候我们要注意一点,我们操作的class文件对应的java compiler版本(这个版本就是你编译java文件的时候的编译器版本)要跟我们android的compiler版本保持一致,不然会报错(这里最好是使用android工程下的class文件最为保险)
也可以通过这个方法解决版本问题:命令:javac -source 1.6 -target 1.6 绝对路径\xx.java
dx.jar在sdk\build-tools文件夹下的各个版本里边都有,需要注意的是,如果想要使用dx,命令行的当前路径应该到版本路径下,如:sdk\build-tools\24.0.3下边
命令:dx --dex --output=绝对路径\xx.jar 绝对路径\xxx.jar 备注:这里是将class文件和生成的dex文件都放到了jar文件当中
如:我们最终想要得到的dex文件就在Hello_dex.jar里边
修改Hello_dex.jar后缀为Hello_dex.zip,解压得到classes.dex文件
我们可以使用sdk提供的dexdump.exe工具查看dex文件的字节码,这个工具在sdk目录下的build-tools文件夹下的相应版本里边都有,使用命令式请定位当前目录到某个版本文件夹下(build-tools文件夹下的版本随便选一个)
命令:dexdump -d 绝对路径\xx.dex
dex文件转换成class文件
将上边得到的classes.dex文件转换成class文件,这里用到dex2jar工具(可以百度一下,然后下载)
将classes.dex文件拖动到dex2jar文件夹中的dex2jar.bat文件上,在classes.dex所在的文件夹下就会生成classes.jar文件,里边就是对应的class文件了
如:
使用jd-gui打开classes.jar