如何使 APK 符合 Google Play 64 位要求?

How to make APK compliant with Google Play 64-bit Requirement?

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

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

但是,在我的 build.gradle 剧照中的默认配置中添加此 ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86' 会出现与上述相同的错误。我有点不知所措,因为我正在遵循 Google 的建议,希望对此事有任何帮助。

这里有一些额外的信息:

最佳解决方案是:上传到支持 x86 的 Playstore 而不会遇到任何错误,或者上传到没有 x86 库的 Playstore 并且仍然能够 运行 [=51] 内的模拟器=] 工作室。有什么想法吗?

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

我看到两个选项:

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

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

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

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

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


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