反编译重新签名后android11无法安装,提示无法安装引用
前提:
因为一些情况需要反编译修改后出新包
api的等级为30
原因:
解决:
需要额外执行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(对齐后的存放目录)