尝试上传到生产环境时,Android Signed APK显示为Unsigned APK


70

我在Android Studio 2.3中对我的APK进行了签名(构建->生成已签名的APK)。当我尝试将其上传到Google Play商店时,它显示我已上传未签名的APK的错误。谁能回答为什么会发生以及如何解决?


您可以发送错误消息吗?
Mehran

4
当我在生成签名的APK时检查了V1(Jar签名)而不是V2(完整APK签名)时,它成功上传。
纳尼·卡扬

Answers:


90

当我在Android Studio 2.3中生成签名的APK时,我检查了V1(Jar签名)而不是V2(完整APK签名)时,它成功上传了


8
我选中了两个复选框:Jar Signature和Full APK Signature。这个答案提供了必要的见解。
史蒂文H

2
当V2可用于签名时,为什么只检查V1?您应该同时选择V1和V2并接受Piyush Kukadiyas的回答。
flipst

我该死的,它起作用了!但为什么?(我正在运行AS 3.1.3)。
SMBiggs

77

Android 7.0引入了APK签名方案v2,这是一种新的应用程序签名方案,可提供更快的应用程序安装时间,并提供更多保护,防止对APK文件进行未经授权的更改。

在生成签名的apk时,有两个复选框。

  1. V1(Jar签名)
  2. V2(完整apk签名)

我们提供三种选择:

  1. 选择V1(用于较旧版本的签名)-APK成功上传

  2. 选择V2(用于较新版本的签名)-请注意,单独选择此功能将无效。

  3. 选择V1和V2(适用于旧版本和较新版本)-APK成功上传

为什么仅选择V2无效?

因为Android 7.0(牛轧糖)中引入了APK签名方案v2。要使APK可在Android 6.0(棉花糖)和较旧的设备上安装,请先使用JAR签名对APK进行签名,然后再使用v2方案进行签名。

欲了解更多信息,请点击这里


感谢您的解释,但是当我同时检查V1和V2时,为什么Google会抱怨?
SMBiggs

@ScottBiggs一起检查时,他们的抱怨是什么?
isJulian00 '19


9

这是因为您在进行发行版本构建时仅使用v2签名。

那么,提到的v1和v2是什么?

v1是默认的签名机制,而v2是添加的最新机制,其验证速度更快。这意味着v2签名的APK在Android Nougat(Android 7.0,API Level 24)及更高版本上的安装/更新速度更快。

那你该怎么办?

如果您想在不做任何更改的情况下签署应用

检查v1(仅jar签名),这是默认设置。

如果您需要最新的签名并支持7.x版本

检查v2(完整Apk签名),这也会减小应用程序的大小。

如果您希望应用更小巧,则可以更快地安装并与所有Android版本兼容。

检查v1和v2。

PS:仅适用于使用Studio签署应用程序,而不使用管道进行构建。

有关更多裁判链接


4

如何使用V2签署APK

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

步骤1)在Android Studio中,选择“视图”>“工具窗口”>“终端”

    gradlew assembleRelease

2)使用zipalign对齐未签名的APK:

zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk

3)使用apksigner使用私钥对APK进行签名:

apksigner sign --ks my-release-key.jks my-app-unsigned-aligned.apk --out my-app-release.apk

注意:要使用apksigner工具,您必须安装的Android SDK Build Tools版本为24.0.3或更高。您可以使用SDK Manager更新此软件包。

4)确认您的APK已签名:

apksigner verify my-app-release.apk

注意:第2步到第4步,在命令提示符下执行G:\ AndroidStudio \ Sdk \ build-tools \ 25.0.0 \


先生,我尝试了上述步骤,但是在---您上载了一个未压缩对齐的APK时出现以下错误。您将需要在APK上运行一个zip对齐工具,然后再次上传。
卡皮尔·索尼

@Kapilsoni步骤2丢失了。您需要转到SDK->构建工具-> 30.0.2那里会找到zipalign
Piyush Patel

先生,但是如果我通过上述步骤生成了构建,但未安装构建错误,我的设备
Kapil索尼

首先,生成一个构建,然后在APK上应用这些步骤之后,必须对其进行签名
Piyush Patel

是的,先生,但我在游戏机上遇到了另一个问题-您上传了未使用上传证书签名的APK。您必须使用相同的证书。上传证书具有指纹:
Kapil soni



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.