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