安装apktool
我们反编译和重新打包都需要用到apktool,所以这里我们先安装apktool,官网安装地址已经给出,根据官网说明,安装还是很简单的。安装过程中遇到问题就自己查询吧。 apktool网址
使用apktool反编译
安装完apktool后,我们可以验证一下是否安装成功。在终端中输入
apktool
出现以下回应,代表安装成功
安装成功后,我们开始反编译
apkapktool d /需要反编译的apk路径/xxx.apk
成功后我们会得到和apk相同名字的文件夹。文件夹中有apk中的各种文件和smali代码。
修改代码等操作
如果你有想修改的代码,比如将改为debug模式,网络安全改为可以抓包等,或者在对应方法加入log,都可以现在更改,具体更改方法大家可以去查询。
重新打包
修改完代码后我们需要重新打包,这里依然用到apktool的命令。更多的设置大家自行查询。
apktool b -f /反编译文件夹路径/反编译文件夹名称 -o /新apk路径/xxx.apk
在打包过程中如果遇到以下错误,那就是不兼容
需要修改命令
apktool b -f base -o newbase.apk --use-aapt2
如果还是打包失败,遇到了那就自己想办法解决吧
zip对齐
重新打包完成后我们还需要使用zipalign工具对新的apk进行对齐,对于什么是对齐,为什么要对齐,可以去官网看看。
Android zipalign 官网
从官网中我们了解到需要用命令来对apk进行对齐,有的人直接输入命令没办法运行,有一个简单的办法,先将终端跳转到zipalign程序对应的目录下,一般来说目录为
android sdk 路径/build-tool/版本/
跳转完成后我们输入命令,新apk的名字都是自己随便想的
./zipalign -v 4 /原apk路径/xxx.apk /新apk路径/newxxx.apk
我们在终端中看到success,代表对齐成功
生成签名文件
对齐完成后我们还需要对apk进行签名,这样才能安装在手机上。签名文件的生成直接用androidstudio就可以,不懂得自己查询吧
签名
如何签名,给大家一个官网链接,先去了解了解Android apksigner,具体操作方法和zipalign类似,先将终端跳转到apksigner程序对应的目录下,一般来说目录为
android sdk 路径/build-tool/版本/
,然后执行命令
./apksigner sign --ks /签名文件地址/xxx.jks /需要签名的apk地址/newxxx.apk
当看到终端中出现success,代表成功了。
安装运行
签名完成后就可以在手机上安装了,但也不是说一定不会出现问题,一般安装不成功会给出错误提示,大家根据错误提示去修改就可以了。
流程基本就这样了