1,工具
apktool (反編譯apk得到資源文件res目錄下的layout/xml....)
dex2jar (反編譯classes.dex文件,得到用於jd-gui工具查看的.jar文件)
jd-gui (反編譯.class文件,得到java文件,如果有混淆,得到的java文件是a.b.c.d...文件名稱)
下載鏈接:https://download.csdn.net/download/Visrul/11984365 (apktool、dex2jar、jd-gui)注意使用時先解壓
2,用命令行運行相應的指令(基於window系統)
a>java -jar apktool_2.0.1.jar d -f xxx.apk -o newfile (xxx.apk爲當前目錄待反編譯的apk文件)
運行完後會在當前目錄生成newfile的文件夾,裏面就是得到的資源文件(res)
b>把待反編譯的.apk文件,重命名爲.zip(或者.rar),解壓文件,在目錄中會有一個classes.dex的文件。
然後把得到的classes.dex文件放到dex2jar文件夾下 ,用cmd運行 d2j-dex2jar.bat classes.dex
c> 用jd-gui工具打開上一步生成的.jar文件,查看java文件,保存整個目錄就能得到整個java文件。
備註:如果反編譯的時候出錯,大部分是由於工具版本較低導致的,用最新的版本工具反編譯。 我用的編譯版本如下:
下面粘下具體地址:
apktool下載地址:https://bitbucket.org/iBotPeaches/apktool/downloads
dex2jar下載地址:http://sourceforge.net/projects/dex2jar/files/
jd-gui下載地址:http://jd.benow.ca/
如果Android版本大於N需要更新dex2jar
//錯誤
com.googlecode.d2j.DexException: not support version.
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:151)
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:211)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:104)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)
Android N之前的版本 下載鏈接
Android N之後的版本 下載鏈接
希望能幫到各位。。。