【问题标题】:Cannot upload multiple APKs targeting multiple CPU architectures on Google Play Developer Console无法在 Google Play Developer Console 上上传针对多个 CPU 架构的多个 APK
【发布时间】:2020-11-03 04:51:00
【问题描述】:

我在 Unity Android 中构建了一个游戏。

我想在 Google Play 开发者控制台中上传多个针对不同 CPU 架构的 APK。 以 64 位 CPU 架构为目标是强制性的,我们无法发布不以 64 位架构为目标的应用程序。我已经上传了针对 ARM64 CPU 架构的 APK,并成功将其投入生产。

现在的问题是我想添加针对 ARMv7(32 位)和 x86 CPU 架构的 APK。 为此,我有:

  • 已创建新版本。
  • 已上传针对具有不同版本代码的 ARMv7 的 APK。
  • 保留了以前针对 ARM64 的 APK,因此当前版本将为 64 位设备提供 64 位版本。

现在当我继续审核时出现错误

错误
此版本不符合 Google Play 64 位要求 以下 APK 或 App Bundle 可用于 64 位设备,但它们只有 32 位本机代码:8.

完全阴影的 APK
问题
此 APK 不会提供给任何用户,因为它完全被一个或多个具有更高版本代码的 APK 所掩盖。

这里是 Screesnhot

这是说我需要包括对 64 位架构的支持。但我之前已经上传了同样的 APK。我无法上传应用的 ARMv7 和 x86 版本。

【问题讨论】:

  • 您以前和当前 apk 的版本代码是多少?
  • 你能显示构建设置吗?
  • @SaadAnees,ARM64 的版本代码是 7ARMv7 的版本代码是 8乙>。不存在版本代码冲突。 APK 在版本中成功上传,我在发布应用程序(推出版本)时遇到了这些错误。此外,我认为没有任何构建设置问题,因为我可以发布应用程序,其中单个 APK 针对 ARM64 和 ARMv7 两者或单个 APK 仅针对 ARM64。当我尝试使用针对 ARMv7 的单独 APK 发布应用程序时,会出现问题。
  • 您无法上传面向 x86 的应用。
  • @SaadAnees,我怎么能不上传针对 x86 的应用程序?Google 仍然支持具有约 328 种设备型号的 x86。另外,我问的是 ~15125 设备型号支持的 ARMv7 架构。请注意,x86 不同于 ARMv7。对于我的问题,我认为这是 Google 的问题,因为它说我可以为不同的 CPU 架构拆分和上传多个 APK,但另一方面,它说我不能上传仅针对 ARMv7 或 ARM64 以外的架构。

标签: android unity3d google-play google-play-console


【解决方案1】:

从 2019 年 8 月 1 日开始,您在 Google Play 上发布的应用需要支持 64 位架构。 64 位 CPU 为您的用户提供更快、更丰富的体验。添加 64 位版本的应用可以提高性能,为未来的创新铺平道路,并为您的设备配备 64 位硬件做好准备。

来源:Support 64-bit architectures

如果您使用的 Unity 版本支持 64 位 Android 库,则可以通过调整构建设置来生成 64 位版本的应用。您还需要使用 IL2CPP 后端作为脚本后端(详情 here)。要设置您的 Unity 项目以构建 64 位架构,请执行以下操作:

  1. 转到构建设置并确保您正在为 Android 构建 验证 Unity 符号在 Platform 下的 Android 旁边。

  2. 如果 Unity 符号不在 Android 平台旁边,请选择 Android,然后点击切换平台。

  3. 点击播放器设置。

  4. Unity 中的播放器设置

  5. 导航到播放器设置面板 > Android 设置 > 其他 设置 > 配置

  6. 将脚本后端设置为 IL2CPP。

  7. 选择 Target Architecture > ARM64 复选框。

  8. 在 Unity 中设置目标架构

  9. 正常构建!

【讨论】:

  • 我知道如何使用 IL2CPP 构建 64 位应用程序。我还发布了 64 位应用程序。到目前为止,我在单个 APK 中都使用 64 位和 32 位,但这会导致更大的 APK 大小,所以我决定分别拆分 64 位和 32 位,因为它提供更小的 APK 大小并针对本机设备各自的 CPU 架构。现在的问题是我已经成功发布了版本代码为 7 的 64 位 APK。现在,我想将 32 位 APK (ARMv7) 添加到 Google Play 控制台,以便我的应用程序得到大约 15125 种设备型号的支持。
  • 如前文所述,所有应用程序都必须具有 64 位。如果您有更大的文件大小,您可以使用 .aab 文件扩展名
【解决方案2】:

您应该为更多增强的 apk 提供更大的捆绑版本代码。 这种情况下arm64 Version Code必须是8,arm-v7 Version Code是7。

这是因为“设备”正在寻找具有最高版本代码的第一个匹配 APK。并且由于 arm64 cpu 支持 arm-v7,那么在您的情况下,它们都将收到 arm-v7 版本,因为它的版本更高,即它隐藏了 arm 64 的程序集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多