反編譯重新簽名后android11無法安裝,提示無法安裝引用


前提:

因為一些情況需要反編譯修改后出新包

api的等級為30

原因:

 

 

 參考鏈接:https://developer.android.com/about/versions/11/behavior-changes-11?hl=zh-cn#minimum-signature-scheme

解決:

需要額外執行v2簽名

對於簽名v1、v2、zipalign對齊的順序是:v1----zipalign對齊----v2

v1是對每個文件簽名

zipalign對齊是對數據壓縮

v2是對文件二進制數據簽名

附:

反編譯

java -jar D:\apktool.jar(apk文件) d F:\my.apk(apk地址) -f -o F:\recompile(反編譯后的存放目錄)

編譯

java -jar D:\apktool.jar(apk文件) b F:\recompile(反編譯后的存放目錄) -o F:\my_Recompile.apk(編譯apk的存放目錄)

v1簽名

jarsigner -verbose -keystore F:/my.keystore(簽名文件目錄) -signedjar F:\my_sign.apk(簽名后的存放目錄) F:\my_Recompile.apk oas_Korean -storepass gygame(編譯apk的存放目錄)

zipalign對齊

cd /d D:\android-sdk-windows\build-tools\30.0.2(sdk目錄,我這里選用的版本是30.0.2) && zipalign -v 4 F:\my_sign.apk(簽名后的存放目錄) F:\my_zipalign.apk(對齊后的存放目錄)

v2簽名

java -jar D:\android-sdk-windows\build-tools\30.0.2\lib\apksigner.jar(apksigner文件目錄,我這里選的版本是30.0.2) sign --ks F:\my.keystore(簽名文件目錄) 
--ks-key-alias **(alias)
--ks-pass pass:**(keystore密碼)
--key-pass pass:**(alias密碼)
--out F:\my_new.apk(v2簽名后的存放目錄) F:\my_zipalign.apk(對齊后的存放目錄)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM