之前使用腾讯云免费加固后,再用jarsigner重签名。这在Android 11及以下的系统中没有出现过问题。但在Android 12版本的手机上会出现无法解析安装的情况。
初步判断是因为签名出了问题。参考了腾讯云社区的文章后,应该是需要使用zipalign工具进行对齐操作,再使用apksigner工具重签名。zipalign和apksigner都由Google官方提供。在Android SDK/build-tools/SDK版本/目录。
之前的签名语句为:
jarsigner -verbose -keystore 密钥库文件 -storepass 密码 -signedjar 生成的新APK文件 旧APK文件 密钥库别名
现在的方法为:
1、对齐:
zipalign -p -f -v 4 未对齐APK文件 生成的APK文件
对齐后可以进行验证:
zipalign -c -v 4 要验证的APK文件
2、签名:
apksigner sign --ks 密钥库文件 --ks-key-alias 密钥库别名 --ks-pass pass:密码 --v2-signing-enabled true -v --out 签名后的APK文件 要签名的APK文件
参考网址:
https://cloud.tencent.com/developer/ask/239047
https://www.jianshu.com/p/c5eafe6b0b5e
https://developer.android.google.cn/studio/command-line/apksigner?hl=zh_cn
https://blog.csdn.net/qq_32115439/article/details/55520012