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