Apktool可以用于反编译apk和打包,学会使用它我们就可以直接对apk进行修改和重写打包.
下载地址:github.com/iBotPeaches….
下载下来是一个jar文件,可以通过cmd来使用它.
使用步骤
1.1.打包测试app
用AS创建一个默认app,将app打包生成apk
按照步骤打包会在app目录下的release文件夹中生成一个apk文件.
1.2.反编译apk
获取到apk之后,我们就可以使用apktool进行反编译:
反编译之后会在同目录下生成一个同名文件夹:
这里面主要需要关心的是smail文件夹,res文件夹以及AndroidManifest.xml文件.smail文件夹中存的是源码生成的smail文件(由于Android app是运行在虚拟机上的,所以它也有自己的一套指令集,这套指令集就是smail).如果你足够熟悉smail语法,你也可以直接修改smail文件来实现修改app.
1.3.打包apk
修改完之后,就可以使用apktool直接打包.
生成的apk可以用adb命令安装到手机上跑一跑
竟然报错了?这是什么原因呢?我们回忆一下第一步用AS创建测试app并打包的时候,是不是需要我们选择签名文件,问题就出在这里.我们没有给apktool生成的apk文件签名,自然不能安装到手机上了.我们可以使用jarsigner命令来给apk文件签名.
签名之后就可以安装apk了