将新APK上传到Alpha - 失败

时间:2017-06-29 04:22:45

标签: android android-studio

将新APK上传到Alpha

上传失败

  

您上传了一个带有无效签名的APK(了解详情   签字)。来自apksigner的错误:错误:JAR_SIG_NO_SIGNATURES:没有JAR   签名

不知道该怎么做,我只想尝试制作Android Studio项目的Alpha版本。

9 个答案:

答案 0 :(得分:262)

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

答案 1 :(得分:81)

更新为android studio 3.3时出现此错误,解决方法是删除build文件夹,然后重试。

答案 2 :(得分:10)

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

问题在于,您的案例中的Google Play需要应用V1方案,即JAR签名,而不是V2中的APK签名。 Google Play文档明确指出:"虽然我们建议将APK签名方案v2应用于您的应用,但此新方案不是强制性的。如果您的应用在使用APK签名方案v2时无法正确构建,则可以禁用新方案。"。

我在这些情况下找到的解决方案是启用两者,如下面的屏幕截图所示。一旦你这样做,Google Play版本管理系统就可以毫无问题地接受签名的APK。

Generate Signed APK dialog box in Android Studio

这是完整的程序:

  1. 在Android Studio中,选择"构建>选择构建变体"并确保"发布"选择变体
  2. 选择"构建>生成签名APK"并输入有关密钥库的信息。我想您已经在之前的尝试中创建了一个已签名的APK,因此这些字段应该已经设置为最新的值。单击[下一步]。
  3. 下一个屏幕是您必须确保将V1和V2都检查为签名版本,然后单击[完成]以生成APK。

答案 3 :(得分:6)

  1. 构建->清理项目
  2. 选中签名版本v1和v2的复选框

答案 4 :(得分:5)

仅在选择了V1(Jar签名)时才有效:-)

答案 5 :(得分:1)

许多提示散布在上面的评论中,但截至11/2019,以下步骤(最终)适用于我的Android(Cordova)应用程序:

  1. 在清单中增加Android内部版本号(如有必要)

  2. 运行cordova build android

  3. 在Android Studio中打开项目

  4. 运行构建>清理项目

  5. 运行版本>生成的签名包/ APK

  6. 仅填写对话框,并选中“ V1 JAR”标志复选框-未选中“ V2 Full APK签名”复选框。

  7. 将APK上载到Google Play仪表板

  8. 张开手指

答案 6 :(得分:1)

确保您使用的证书密钥文件正确,并在Android Studio中执行以下步骤:

  1. 点击生成->清理项目
  2. 点击生成->生成签名包/ APK
  3. 按照以下步骤操作,并确保已在“签名版本”(V1-Jar签名和V2-完整APK签名)中选择了两个选项

应该可以!

答案 7 :(得分:0)

首先删除项目的build文件夹,然后再次生成apk或捆绑包。此解决方案已解决了我的问题。

答案 8 :(得分:0)

该错误是在我将 Android Studio 更新到最新版本并重新构建后发生的。

(PS:现在我收到错误消息“您的应用程序当前面向 API 级别 26,并且必须至少面向 API 级别 29,以确保它构建在针对安全性和性能进行了优化的最新 API 上。将应用程序的目标 API 级别更改为至少 29" 但这似乎很容易解决...)