2017-06-29 53 views
46

上传新的Alpha版APK上传新的Alpha版APK - 失败

上传失败 您上传的APK签名无效(了解更多关于签署)。从apksigner错误:错误:JAR_SIG_NO_SIGNATURES:没有JAR签名

不知道该怎么做,我只是试图让一个Android Studio项目的Alpha版..

+2

你想上传已签名的apk吗? – VishnuSP

+0

yes,unsigned ...好像我在Catch-22中,因为我知道我不能上传没有签名,但签名,我知道可以通过谷歌播放,但要做到这一点,我必须已经有东西上传......或者看起来,我对Android部署完全陌生,我对Android的所有知识都是活动,片段等等,很难找到关于部署的可靠资源,相当分散的信息。 –

+1

如果您尝试上传已签名的apk文件[这里是您的答案](https://stackoverflow.com/questions/44386464/android-app-installation-failed-package-com-my-app-has-no-certificates -at-entry/44387533#44387533) –

回答

123

你可以从错误中看到,有没有jar签名。在上一步选择签名版本(v1和v2)的复选框,然后构建apk。它会工作See this image

+1

我还没有探索到IDE足以知道什么窗口。 –

+3

转到生成>生成已签名的apk并继续 – Sony

+7

不知道为什么,但它对我来说同时检查V1和V2。昨天晚上3-4小时再过6个小时,然后检查并与Google支持人员聊天,我不在乎为什么,只是很高兴地继续前进。 – jonathan3087

3

我认为你可能只是接受Android Studio的APK注册过程中的默认配置设置。这在大多数情况下都可以,但是如果您使用Android 7.0+,可能会产生轻微的混淆。事实上,从7.0版开始,除了“旧”版本V1之外,Android还推出了新的V2签名方案。新方案应该提供更快的应用安装时间,并且可以防止对APK文件进行未经授权的更改,因此它是Android Studio“生成签名的APK”对话框中的默认方案。

问题是Google Play在你的情况下需要应用V1方案,那就是JAR签名,而不是V2中的V2签名。 Google Play文档明确指出:“尽管我们建议您将APK签名方案v2应用于您的应用,但这种新方案并非强制性的。如果您的应用在使用APK签名方案v2时无法正确构建,则可以禁用新方案。 ”。

我在这些情况下找到的解决方案是启用两者,如下面的屏幕截图所示。一旦你这样做了,签名的APK应该被Google Play版本管理系统接受而没有问题。

Generate Signed APK dialog box in Android Studio

这是一个完整的过程:

    Android Studio中
  1. ,选择 “生成>选择Build变种”,并确保该 “放” 变种选择
  2. 选择“生成>生成签名APK“并输入关于您的密钥库的信息。我想你已经在你之前的尝试中创建了一个签名APK,所以这些字段应该已经设置为最新的值。点击下一步]。
  3. 下一个屏幕是你必须确认V1和V2都是签名版本,然后点击[完成]生成APK。
+0

在我的情况下,你的第一点做到了这一点;) – basti12354