当我尝试在 Android 12 上手动安装我的签名版本应用时,收到“应用未安装,因为包似乎无效”消息。不过,它可以安装在我的其他 Android 手机上9 和 Android 6。
我使用 jarsigner 来签署我的 apk:
$ jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore my-release-key.keystore <app-release-unsigned.apk's path> alias_name
并使用zipalign来优化:
$ zipalign -v 4 <path-to-same-apk-file> HelloWorld.apk
我更改了手机设置,以便能够安装未知的 apk 并使用 app-debug.apk 进行测试,效果很好。有关更多信息,我的应用程序是使用 quasar 框架 编写的,并使用 cordova 构建的。
最佳答案
在 Android 12 上,您必须使用 V2 签名方案来签署您的 APK。不幸的是,jarsigner 只是 v1 签名方案。
简而言之,使用 apksigner 来签署您的 APK 或 jarsigner,或者如果您使用 Android Studio,请不要忘记选中“V2 签名”复选框或定义启用 v2 的签名配置签名。
关于android - 签名的 apk 无法安装在 Android 12 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72954284/