【发布时间】: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版本没问题,但是
- 我从未见过英特尔 64 位智能手机/平板电脑可用。
- 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