【问题标题】:August 2019 NDK 64 bit requirement Intel binary2019 年 8 月 NDK 64 位要求 Intel 二进制文件
【发布时间】:2019-04-30 04:45:06
【问题描述】:

作为原生 Android 开发人员,我正在寻找有关我的 Android 应用程序的最新 Google 要求的信息。 其中之一来自博客文章

https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html

2019 年 8 月,Play 将要求新应用和带有原生库的应用更新除了提供 32 位版本之外还提供 64 位版本。

现在我的应用程序中有 x86 库。加x86_64版本没问题,但是

  1. 我从未见过英特尔 64 位智能手机/平板电脑可用。
  2. Intel 看起来很快就会像 MIPS 一样从 NDK 中被淘汰。还有一些 2016 年的 Zenfone 有人可能会使用,所以这就是我的 apk 中有 x86 的原因。

问题是支持谷歌关于 64 位的新要求最正确的方法是什么?如果我有 32 位二进制或仅 ARM64 就足够了,我需要 Intel 64 位吗?

apk 大小呢?我拥有的二进制文件越多,我的 apk 就越大。现在它已经是~98MB。最大大小为 100MB。那么如果我们强制添加 64 位,最大 apk 大小也会增加吗?或者我需要为每个平台创建 apk?

【问题讨论】:

  • 我的解释:如果您打算继续在您的应用程序中包含 x86 库,那么您还必须包含这些库的 x86_64 版本。如果您放弃 x86,则无需包含 x86_64 版本。
  • 您是否想要一个 APK 或 multiple APKs 取决于您。两者都有可能。
  • 到目前为止,x86 和 x86_64 仅适用于模拟器。你真的不必包括这 2 个 ABI。现在,只使用 abiFilters 添加 armeabi-v7a 和 arm64-v8a 应该没问题。
  • 如果您关心 APK 的大小(并且您应该关心此政策,您的用户会感谢您)您不应该分发胖 APK。看起来app bundles 可以很容易地避免这种情况。
  • @shizhen 至少华硕 Zenfone 2 有 Intel CPU。我包含 x86 二进制文件以使我的应用程序在此类设备上运行得更快。 armv7 将在仿真模式下工作,速度较慢。

标签: android android-ndk 64-bit x86-64


【解决方案1】:

我将使用新的App Bundles 作为最佳解决方案。每个平台的 APK 是自动创建的,因此是否包含 Intel 64 位无关紧要。

【讨论】:

  • 即使在我使用 Android App Bundle 时,消息(2019 年 8 月,Play 将要求新应用和使用原生库的应用更新除了 32 位版本之外还提供 64 位版本。 ) 每当我将 App bundle 上传到 Google Play 时仍然会出现
猜你喜欢
  • 2019-06-28
  • 2017-09-24
  • 2011-09-08
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
相关资源
最近更新 更多