开发Android的时候,难免会遇到需要反编译一下APK,观察是否打包都正确的情况,这个时候就需要ApkTool来上场了。
APKTool的官方地址是http://ibotpeaches.github.io/Apktool/。
正常情况下,从这个地址直接下载编译好的Jar包就可以了,但是由于他编译好的Jar包存储在bitbucket.org上面,由于众所周知的原因,这个网站是无法正常下载文件的,因此我们可以通过自己编译代码的方式来生成这个Jar包。
1.从GitHub下载代码
$ git clone --recursive git://github.com/iBotPeaches/Apktool.git
2.切换到代码目录
$ cd Apktool
3.合并smali
的补丁代码,用来生成brut.apktool.smali
的目录
Linux
$ ./gradlew applyPatches
Windows
$ gradlew.bat applyPatches
4.编译代码
Linux
$ ./gradlew build fatJar
Windows
$ gradlew.bat build fatJar
编译好的Jar包在
./brut.apktool/apktool-cli/build/libs/apktool-xxxxx.jar
已经编译好的Apktool 2.0.3可以在在这里下载。
5.执行命令,解包APK
$ apktool d test.apk
对于Mac用户来说,使用如下命令
$ java -jar apktool.jar d test.apk