在iterm中输入
python DecompileApk.py /Volumes/G/xxxx.apk
即后面加apk的路径参数
等待执行完毕后,会在项目目录下生成一个 classes-dex2jar.jar文件,然后脚本自动打开JD-GUI,按照如下步骤打开项目目录下的classes-dex2jar.jar文件即可
如下,就可看到apk的源码了
以上的方法只能用于反编译源码,但是不能获取到apk的资源文件,这里就需要使用apkTool了,方法如下:
到~DecompileApk/apkTool 路径下,执行
apktool d xxx/xxx.apk -o /test
其中 d
的参数是apk的路径,-o
指需要把反编译后的资源放在哪里,可以不指定,默认在当前目录下。
获取到的结果如下,包含Androidmanifest,res,layout,asset等。
目前暂时不支持多dex的apk,需要手动使用dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh 脚本
d2j-dex2jar.sh apk路径
可以参考如下文章