繁体   English   中英

应用程序未安装在 Android 11 中,但适用于以前的版本

[英]App not installing in Android 11 but works on previous versions

我有一个包含两个包com.example.packagecom.other.package的应用程序。 我在build.gradle中的配置如下:

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.example.package"
        minSdkVersion 18
        targetSdkVersion 30

我构建了一个未签名的发布版本。 然后我签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystore> <OUTPUT> <ALIAS>

我从中获得的构建适用于除 Android 11 之外的所有版本。在 android 11 上,当我安装我的应用程序时,出现以下错误:

adb: failed to install ginger-uk.apk: Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

因此,我尝试使用 zip 对齐 APK 并进行安装,但随后在 Android 11 上出现以下错误:

App not installed error

然后我尝试在基于某些 stackoverflow 解决方案签名之前先 zipalign,但我在 Android 11 上收到以下错误:

adb: failed to install ginger-uk.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.other.package]

我的问题是有人成功签署了适用于 android 11 及以下版本的 APK 吗? 你是怎么做到的?

这可能是相关的:Android 11 不再支持 APK 签名方案 v1。 现在必须使用 APK Signature Scheme v2 或更高版本对 apk 进行签名。 有关更多信息,请参阅此链接: https : //developer.android.com/about/versions/11/behavior-changes-11#minimum-signature-scheme

我解决了这个问题,问题是resources.arsc在使用jarsignerBAD ,所以我 zip 对齐,然后使用apksigner进行签名。 这解决了这个问题(至少对我来说)。

只需检查 V2(完整 APK 签名)。

在此处输入图片说明

它由谷歌记录。 如果您使用的是 apksigner,那么您需要 zipalign,然后对 APK 进行签名。

https://developer.android.com/studio/command-line/apksigner

注意:如果您使用 apksigner 对 APK 进行签名并对 APK 进行进一步更改,则 APK 的签名将失效。 因此,您必须在签署您的 APK 之前使用 zipalign 等工具。

对于使用 MS AppCenter 进行构建的用户,您需要删除并重做构建配置,包括再次上传您的密钥库文件。 您可以通过查看日志来检查使用的正确签名

Task         : Android signing
Description  : Sign and align Android APK files
Version      : 3.193.0  <-- must be larger than 1.x

来源: https : //github.com/microsoft/appcenter/issues/1990#issuecomment-861053082

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM