android - 签名的 apk 无法安装在 Android 12 中

标签 android cordova apk quasar jarsigner

当我尝试在 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/

相关文章:

android - 如何为使用 Flet (python) 开发的应用程序构建 APK 文件

android - 通过Gradle签名APK-特殊字符的无效编码

android - 有没有办法删除 Urban Airship 的日志消息

android - Ifstream 不会使用 JNA Android Studio 打开文件 C++

javascript - phonegap Sqlite插件实现-错误和警告:no such table

android - Firebase limitToLast(查询)不解析响应

java - 在同一部手机上运行应用程序时,Android Studio 生成的 APK 崩溃工作正常。怎么了?

facebook - Cordova/phonegap 跟踪应用程序通过 Facebook SDK 安装

cordova - 检测 Meteor Cordova 应用程序何时进入后台

ios - iOS:将Firebase InAppMessaging与Cordova项目集成