使用腾讯云加固,下载后再次签名,签名成功之后的 apk 在华为鸿蒙、Android8 系统可以正常解析安装,在Android11 解析安装包失败。
解析软件包时出现问题
解决方案
使用 zipalign
工具进行对齐,再用 apksigner
重新签名就行了
zipalign
和 apksigner
都由Google官方提供,安装 Android
环境的时候就装好了,使用时需要先配置环境变量, zipalign
和 apksigner
在Android SDK/build-tools/SDK版本/目录
控制面板->系统和安全->系统->高级系统设置->高级->环境变量->系统变量path
zipalign
工具进行对齐
签名文件 keystore 和 apk 的目录下执行命令
对齐命令
zipalign -p -f -v 4 未对齐(jarsigner已签名)APK文件 生成的APK文件
zipalign -p -f -v 4 .\myapp1.apk .\myapp2.apk
验证对齐
zipalign -c -v 4 要验证的APK文件
对齐成功,这时apk安装包直接安装会提示无效或不兼容
apksigner
再次签名
apksigner sign --ks 密钥库文件 --ks-key-alias 密钥库别名 --ks-pass pass:密码 --v2-signing-enabled true -v --out 签名后的APK文件 要签名的(对齐后)APK文件
个人
apksigner sign --ks .\my-release-key.keystore --ks-key-alias my-key-alias --ks-pass pass:123456. --v2-signing-enabled true -v --out .\myapp3.apk .\myapp2.apk
出现 Signed
提示表示签名成功,这时加固后的APK就可以正常安装了。