【问题标题】:How to make APK compliant with Google Play 64-bit Requirement?如何使 APK 符合 Google Play 64 位要求?
【发布时间】:2021-04-18 21:34:55
【问题描述】:

我知道以前有人问过这个问题,但我仍在努力寻找有关如何正确实现此目标的有效答案。当我将我们的 APK 上传到 Google Play 开发控制台时,我收到以下警告:

我们的应用程序使用三个 jniLib,它们属于以下架构:arm4-v8a、armeabi-v7a 和 x86。单击错误所附的“了解更多”链接可针对此问题提供以下解决方案:

但是,在我的 build.gradle 静止图像的默认配置中添加此 ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86' 会产生与上述相同的错误。我有点迷失了,因为我正在遵循 Google 的建议,并希望能在这件事上提供任何帮助。

以下是一些附加信息:

  • APK 分析器结果

  • 我正在使用 V2(完整的 APK 签名)构建一个签名的 APK。

  • 删除 x86 jniLib 后,我可以零错误地将 APK 上传到 Google Play 商店,但是,我无法运行 Android 模拟器,因为 AVD 仅支持 x86。

最佳解决方案是:将支持 x86 的 Playstore 上传到没有遇到任何错误的 Playstore,或者在没有 x86 库的情况下上传到 Playstore,但仍然能够在 Android Studio 中运行模拟器。有什么想法吗?

【问题讨论】:

    标签: android google-play-console epson


    【解决方案1】:

    我会在那里看到另外两个选项...

    A) 您必须从发布版本中排除 x86 的 Epson 本机程序集...因为当存在 x86 时,它也会要求 x86_64。我假设它用于x86 仿真,但对于调试版本,这不是问题。删除它并使用慢速 ARM 模拟器可能不是答案。尝试将其添加到 buildTypes.release 中(以便将其保留用于调试目的):

    packagingOptions {
        exclude "lib/x86/*.so"
    }
    

    B) Seiko Epson 同时会为x86_64 提供本地组装...如果您更新他们的 SDK。


    从技术上讲,选项 A 会好很多,因为封装尺寸更小。

    【讨论】:

    • 非常感谢,我排除了 x86 和 x86_84,由于这个解决方案节省了大约 7 MB 的空间。
    【解决方案2】:

    Google Play 管理中心声明,如果您支持 32 位架构,则您必须也支持相应的 64 位版本。

    我看到两个选项:

    1. 提供您的库的 x86_64 版本。
    2. 删除您的库的 x86 版本并使用可用的 arm 架构 AVD 系统映像。

    【讨论】:

      猜你喜欢
      • 2019-12-22
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 2021-07-04
      • 2020-01-24
      • 2020-10-27
      相关资源
      最近更新 更多