处理 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
.
希望对您有所帮助,
我已经生成了我的 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
.
希望对您有所帮助,