apk解压与替换文件后重新打包签名—Flutter产物替换验证

一、APKTool的安装与使用

APKTool安装地址

image.png

(1)下载脚本保存为所有文件,下载apktool.jar,将两者放置目录/usr/local/bin下。
如图:

image.png

2、cd /usr/local/bin下,执行chmod +x)确保两个文件可执行。
3、在命令行执行apktool检验是否可正常执行工具的命令

image.png

二、APK的解压和重新打包、签名

上述安装授权完后,即可使用apktool命令对Apk进行解压和重新打包Apk了
1、对apk进行解压apktool d /Users/xxx/Desktop/app-debug.apk

image.png

2、对该解压后,会在/usr/local/bin下生成app-debug的文件夹,可对内部的文件进行修改,再执行apktool b /usr/local/bin/app-debug重新打包,会在dist目录重新生成apk,需要注意的是,此apk无法直接安装,需要对其进行重新签名才能正常安装。

image.png

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(别名)

image.png

签名完后生成的new.apk,即可正常安装运行。


image.png

附Flutter产物替换后重新打包签名Apk的验证结果:

替换整个flutter_assets,可正常运行显示加载到最新的Dart修改,可正常attach ✅
替换kernel_blob.bin,可正常运行显示加载到最新的Dart修改,可正常attach ✅
替换资源图片,可正常运行显示加载到最新的Dart修改,可正常attach ✅
新增业务package,可正常运行显示加载到最新的Dart修改,可正常attach✅
删减package,可正常运行和attach,但是业务页面展示效果会有缺失✅

你可能感兴趣的:(apk解压与替换文件后重新打包签名—Flutter产物替换验证)