处理 Android APK 文件中的 phone 架构和处理器类型

Dealing with phone architectures and processor types on Android APK file

我已经生成了我的 Android 项目的发布 apk,以便通过开发人员控制台进行一些内部测试。

生成后,我点击分析了APK文件。从图片中我看到我的大部分 APk 分配都用于图书馆和资产。

我主要关注 ARM X86 和 X64 的架构。我相信它们是 phones 上的处理器速度,并且 在 phone 上安装 APK 后,Play 商店将确定 phone 的处理器和架构,然后根据该场景下载我的 APK。

我的问题是,随着 Android 迁移到 64 位架构应用程序,我不能摆脱不基于 64 位的 ARM 架构。

我不确定该做什么,如果可能的话,我想去掉这些额外的架构以减小 APK 的大小。

请看提供的图片

如今,绝大多数 Android 设备都是 arm。 Play 控制台上的设备目录报告说,Play 支持的 98% 的设备都是 运行 ARM 设备。虽然这个数字没有考虑到 Play 不支持的设备或每个设备上的用户数量,但它仍然可以让您了解比例。

也就是说,无论您选择支持哪种架构,在发布到 Play 时,您都应该始终添加对该架构的 64 位支持。例如,如果要支持 arm,则必须具有 arm64-v8a 的库,如果要支持 x86,则必须具有 x86_64.

的库

但是,要减小 APK 大小,现在有更好的方法:发布 Android App Bundle。 Play 引入了这种新的发布格式来解决这个问题:你发布一个 App Bundle 到 Play,Play 负责生成为每个设备优化的 APK,只包含他们的设备架构、屏幕密度和语言所需的文件(可定制).

只需在 Play 管理中心注册 Play App Signing(这样 Play 就可以为您生成的 APK 签名),然后 select 在 Studio 中“构建 Android App Bundle” 而不是“构建 APK”。 -- 如果您使用 Gradle、gradlew bundleRelease 而不是 gradlew assembleRelease.

希望对您有所帮助,