一、APKTool的安装与使用
(1)下载脚本保存为所有文件,下载apktool.jar,将两者放置目录/usr/local/bin
下。
如图:
2、cd /usr/local/bin下,执行
chmod +x)
确保两个文件可执行。3、在命令行执行
apktool
检验是否可正常执行工具的命令
二、APK的解压和重新打包、签名
上述安装授权完后,即可使用apktool命令对Apk进行解压和重新打包Apk了
1、对apk进行解压apktool d /Users/xxx/Desktop/app-debug.apk
2、对该解压后,会在/usr/local/bin
下生成app-debug的文件夹,可对内部的文件进行修改,再执行apktool b /usr/local/bin/app-debug
重新打包,会在dist目录重新生成apk,需要注意的是,此apk无法直接安装,需要对其进行重新签名才能正常安装。
3、重新签名的命令如下
jarsigner -verbose -keystore /xx/access_app.jks(签名文件) -signedjar /xx/app-debug-b/dist/new.apk(待生成的带签名的apk) /xx/app-debug-b/dist/app-debug.apk(未签名的apk目录) access(别名)
签名完后生成的new.apk,即可正常安装运行。
附Flutter产物替换后重新打包签名Apk的验证结果:
替换整个flutter_assets,可正常运行显示加载到最新的Dart修改,可正常attach ✅
替换kernel_blob.bin,可正常运行显示加载到最新的Dart修改,可正常attach ✅
替换资源图片,可正常运行显示加载到最新的Dart修改,可正常attach ✅
新增业务package,可正常运行显示加载到最新的Dart修改,可正常attach✅
删减package,可正常运行和attach,但是业务页面展示效果会有缺失✅