Android Signed APK在尝试上传到制作时显示为未签名的APK

时间:2017-03-05 06:18:22

标签: android android-studio

我在Android Studio 2.3中签署了我的APK(build->生成签名APK)。当我尝试将其上传到Google Play商店时,它会显示我已上传未签名APK的错误。任何人都可以回答为什么会发生这种情况以及如何解决它?

8 个答案:

答案 0 :(得分:83)

在我在Android Studio 2.3中生成已签名的APK时检查V1(Jar Signature)而不是V2(Full APK Signature)时上传成功

答案 1 :(得分:71)

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

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

  1. V1(Jar Signature)
  2. V2(完整apk签名)
  3. 我们有三种选择:

    1. 选择V1(旧版签名) - apk上传成功

    2. 选择V2(对于较新版本的签名) - 请注意,单独选择此选项不起作用。

    3. 选择V1和V2(旧版和新版) - apk上传成功

    4. 为什么单独选择V2不起作用?

      因为APK签名方案v2是在Android 7.0(Nougat)中引入的。 要在Android 6.0(Marshmallow)和旧设备上安装APK,应在使用v2方案签名之前使用JAR签名对APK进行签名。

      了解更多信息jump here

答案 2 :(得分:18)

v1 v2 签名。它会成功上传。

答案 3 :(得分:8)

这是因为您在使用发布版本时仅使用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签署应用程序,而不是使用管道进行构建。

更多参考Link

答案 4 :(得分:2)

如何使用V2签署APK

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

步骤1)Android Studio,选择View>工具窗口>终端

    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 \

中执行

答案 5 :(得分:0)

这是Google的一个问题,它是两天前在this page

发布的

答案 6 :(得分:0)

如果达到此目的,请使用Android Studio 3.3,无论您是否选中“签名”复选框,错误都会不断出现,请尝试手动删除app / build文件夹。

来源:https://stackoverflow.com/a/54213942/787511

答案 7 :(得分:0)

根据所附的屏幕截图,同时选择V1(Jar签名)和V2(完整APK签名)。它将起作用。

enter image description here