2017-04-11 183 views
5

我制作了一个应用程序,并将其发布到PlayStore上。
我做了一个更新,现在我试图重新将它导入到Android发布网站。无法将已签名的APK上传到PlayStore

我产生我的应用程序是这样的:(与Android工作室)

  • 构建
  • 签署了产生APK ...
  • 我选用我的应用程序
  • 点击 “下一步”
  • 而我使用了相同的密钥,相同的密码等...

apk的成功生成(并签名)。 Image

但是,当我试图上传发布网站上的应用程序(以更新的在线应用程序),它告诉我:

您已经导入一个APK文件没有签名。您必须创建带签名的APK文件。

enter image description here

有你有一个想法,为什么它的崩溃?

这是违反规定,Android工作室告诉我已签名的应用程序已生成,但网站告诉我这不是已签名的应用程序。

编辑:
我tryed以 “打造 - >清理项目” 和 “文件 - >的Invalidate缓存/重新启动......” 没有成功。我也tryed做一个新项目,复制过去的所有代码,然后重试:/

+0

你可以用英语翻译图像中的语言吗? – Lokesh

+0

我把它放在图片上方:“您已经导入了一个没有签名的APK文件,您必须创建一个带有签名的APK文件”。 – TomSkat

+1

它试图说的是签署所有证书的数字签名。参考这个链接https://developer.android.com/studio/publish/app-signing.html – Lokesh

回答

6

我认为你正确地创建密钥存储和无AMAN SINGH的答案中的解决方案适合您。

Android中有一个名为Apk Signing Scheme v2的新签名机制。 https://source.android.com/security/apksigning/v2

当你签署你的apk时,有两个复选框。 V1(JAR签名) V2(APK签署)

V1签名是必需的,如果APK的minSdkVersion是低。在Android Nougat之前的Android版本(API Level 24忽略 v2签名,所以没有有效v1签名的apks将被Play商店拒绝拒绝

在Android中7.0,的APK可以根据APK签名 方案V2(V2方案)或JAR签名(V1方案)进行验证。旧平台 忽略v2签名并仅验证v1签名。

enter image description here

编辑:

感谢Alex Klyubin信息。

+0

感谢您的评论,我想我尝试了没有结果,但它的工作原理:P感谢一个:D – TomSkat

+1

v1如果APK的minSdkVersion是23和更低,则需要签名v1 - Android Nougat(API级别24)之前的Android版本忽略v2签名,并因此拒绝没有的APK一个有效的v1签名。最重要的是,Google Play目前要求所有APK,无论其minSdkVersion如何,都有一个有效的v1签名。 –

2

我不明白其中的图像是有语言的,但如果你已经上传了APK一次,然后,

*)您需要使用第一次生成签名APK时使用的相同签名密钥库签名。

*)检查您的Manifest.xml,android:debuggable="true"如果这是有删除此行或使debuggable="false"

*)检查`的versionCode”应该大于最后上传

*)检查versionName应该更大比去年上传

*)Tick标志同时在列,同时建立签名的APK

+0

感谢您的帮助@AMAN SINGH。我的清单中没有像“android:debuggable”这样的行,我使用了相同的签名(将其存储在服务器中以便不会松动)。和我的versionCode和我的版本名称是比另一个更大,这是我的第四次更新,我从来没有遇到过问题:/ – TomSkat

+0

它是法语,看看上面的翻译(黄色:P) – TomSkat

+0

重新检查一次,并生成签名APK ' –