【问题标题】:Upload new APK to Alpha - failed将新 APK 上传到 Alpha - 失败
【发布时间】:2017-12-02 15:12:43
【问题描述】:

上传新的 APK 到 Alpha

上传失败

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

不知道该怎么做,我只是想制作一个 Android Studio 项目的 Alpha 版本..

【问题讨论】:

  • 您是否要上传已签名的 apk?
  • 是的,未签名 ... 好像我在 Catch-22 中,因为我知道不签名就无法上传,但要签名,我知道可以通过 google Play 签名,但是要做到这一点,我必须已经上传了一些东西......或者看起来,我对 Android 部署完全陌生,我所知道的关于 Android 的只有活动、片段之类的东西,很难找到一个可靠的部署资源,相当分散的信息。
  • 如果您尝试上传签名的 apk here is the answer for you

标签: android android-studio


【解决方案1】:

我有一个更新版本的 Android Studio。因此,我无法同时检查 v1 和 v2。

Build Clean and Generate Signed Bundle/APK 再次为我工作。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      确保您使用的是正确的证书密钥文件并在 Android Studio 中按照以下步骤操作:

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

      应该可以!

      【讨论】:

        【解决方案4】:

        上面的 cmets 中散布了许多提示,但截至 2019 年 11 月,这些步骤(最终)适用于我的 Android (Cordova) 应用:

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

        2. 运行cordova build android

        3. 在 Android Studio 中打开项目

        4. 运行构建 > 清理项目

        5. 运行构建 > 生成的签名包/APK

        6. 填写对话框并选中“V1 JAR”符号复选框 - 未选中“V2 Full APK Signature”复选框。

        7. 将 APK 上传到 Google Play 控制面板

        8. 交叉手指

        【讨论】:

        • 当我只为 Ionic 选择 V​​1 时,它起作用了。当我只选择 V2 或 V1/V2 时,它都会显示错误
        【解决方案5】:

        首先删除项目的build 文件夹,然后再次生成apk 或bundle。这个解决方案为我解决了这个问题。

        【讨论】:

          【解决方案6】:
          1. 构建 -> 清理项目
          2. 选中签名版本 v1 和 v2 的复选框

          【讨论】:

            【解决方案7】:

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

            【讨论】:

            • 为我工作。每次 Android Studio 更新都会出现另一个恼人的神秘错误。
            • 非常感谢。我挣扎了一个多小时。
            • 非常感谢!我已经为此奋斗了好几天了!甚至 Google Play 开发者支持也不知道如何解决这个问题。
            • @SolderingIronMen Build-> 清洁项目对我不起作用。只能通过删除 Build 文件夹来解决。
            • 哥们,你救了我的命
            【解决方案8】:

            当仅选择 V1(Jar 签名)时,它起作用了 :-)

            【讨论】:

              【解决方案9】:

              我认为您可能只是在 Android Studio 的 APK 注册过程中接受了默认配置设置。这在大多数情况下是可以的,但如果您使用 Android 7.0+ 可能会产生轻微的混淆。确实,从 7.0 版本开始,除了“旧”V1 之外,Android 还引入了新的 V2 签名方案。新方案应该提供更快的应用安装时间和更多的保护以防止未经授权的 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 作为签名版本,然后单击 [Finish] 生成 APK。

              【讨论】:

              • 没有帮助我:(
              【解决方案10】:

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

              【讨论】:

              • 我对 IDE 的探索还不够,无法知道那是什么窗口。
              • Go to build> 生成签名的apk并继续
              • 不知道为什么,但它对我检查 V1 和 V2 都有效。昨晚 3-4 小时后,今天又 6 小时,检查 SO,并与 Google 支持聊天,我不再关心为什么,只是很高兴继续前进。
              • 我遇到了这个问题,我必须先从磁盘中删除 apk,否则 playstore 仍然告诉我 jar 未签名。
              • 这对我不起作用。正如@Pablo Cegarra 提到的那样,唯一有效的是删除构建文件夹并再次构建签名的apk。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-12-20
              • 2016-03-05
              • 2020-12-17
              • 1970-01-01
              • 1970-01-01
              • 2020-08-04
              相关资源
              最近更新 更多