Android Signed APK尝试上传到产品时显示为Unsigned APK
我在Android Studio 2.3(build-> generate signed APK)上签了我的APK。 当我尝试将其上传到Google Play商店时,显示我上传了未签名APK的错误。 任何人都可以回答为什么发生和如何解决?
当我在Android Studio 2.3中生成签名的APK时,select了V1(Jar Signature)而不是V2(Full APK Signature)
Android 7.0引入了APK签名schemev2,这是一种新的应用签名scheme,可提供更快的应用安装时间,并可防止对APK文件进行未经授权的更改。
在生成已签名的apk时,有两个checkbox。
- V1(Jar签名)
- V2(完整apk签名)
我们有三种select:
-
selectV1(对于旧版本的签名) – apk获得成功上传
-
selectV2(对于较新版本的签名) – 请注意,单独select这一项将不起作用。
-
selectV1和V2(对于较旧的版本) – apk获得成功上传
为什么selectV2是行不通的?
因为APK签名schemev2是在Android 7.0(牛轧糖)中引入的。 要在Android 6.0(Marshmallow)和较旧的设备上安装APK,应在使用v2scheme签名之前使用JAR签名对APK进行签名。
欲了解更多信息跳转到这里
为v1和v2签名。 它会成功上传。
这是因为你正在使用v2签名,而采取发布构build。
那么v1和v2提到了什么?
v1是默认的签名机制,v2是最新添加的机制,validation速度更快。 这意味着v2签名的APK在Android Nougat(Android 7.0,API Level 24)和更新版本上安装/更新速度更快。
那你该怎么办?
如果您想在没有任何更改的情况下login应用
仅检查v1(仅限jar签名),这是默认设置。
如果你想要最新的签名和支持7.x版本
检查v2(完整的应用程序签名)这也减less了应用程序的大小。
如果你想要的应用程序更小,能够安装更快,并与所有Android版本兼容。
检查v1和v2。
PS:只适用于使用Studio对应用程序进行签名,而不是使用pipe道进行构build。
更多的引用链接
如何使用V2对APK进行签名
https://developer.android.com/studio/command-line/apksigner.html
步骤1)Android Studio,select视图>工具窗口>terminal
gradlew assembleRelease
2)使用zipalignalignment未签名的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工具,必须安装修订版24.0.3或更高版本的Android SDK构build工具。 您可以使用SDKpipe理器来更新这个软件包。
4)确认您的APK已签名:
apksigner verify my-app-release.apk
注意:第2步到第4步在命令提示符下执行G:\ AndroidStudio \ Sdk \ build-tools \ 25.0.0 \
这是Google的一个问题,它在两天前发布在这个页面上