一、APKTool的安裝與使用

image.png
(1)下載腳本保存為所有文件,下載apktool.jar,將兩者放置目錄/usr/local/bin下。
如圖:

image.png
2、cd /usr/local/bin下,執(zhí)行
chmod +x)確保兩個文件可執(zhí)行。3、在命令行執(zhí)行
apktool檢驗是否可正常執(zhí)行工具的命令

image.png
二、APK的解壓和重新打包、簽名
上述安裝授權完后,即可使用apktool命令對Apk進行解壓和重新打包Apk了
1、對apk進行解壓apktool d /Users/xxx/Desktop/app-debug.apk

image.png
2、對該解壓后,會在/usr/local/bin下生成app-debug的文件夾,可對內(nèi)部的文件進行修改,再執(zhí)行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產(chǎn)物替換后重新打包簽名Apk的驗證結果:
替換整個flutter_assets,可正常運行顯示加載到最新的Dart修改,可正常attach ?
替換kernel_blob.bin,可正常運行顯示加載到最新的Dart修改,可正常attach ?
替換資源圖片,可正常運行顯示加載到最新的Dart修改,可正常attach ?
新增業(yè)務package,可正常運行顯示加載到最新的Dart修改,可正常attach?
刪減package,可正常運行和attach,但是業(yè)務頁面展示效果會有缺失?