P.M*_*lch 2 android android-ndk android-app-bundle
我有一个项目,其中包含几个特定于 cpu 架构的 .so 文件 - 最大的是 xwalk lib,v8a 版本为 60MB,v7a 版本为 37MB。
当我们拆分 APK 时,arm-v7a 应用程序 apk 版本大约为 38mb,arm-v8a apk 大约为 41mb,这是有道理的 - 压缩 lib 将分别产生 23MB 和 20MB。
使用 app bundle 时,似乎生成的 APK 根本没有压缩。将 60MB 和 37MB 添加到 apk 大小几乎没有变化,导致 64 位 arm 设备的 apk 为 97MB。
当使用 bundletool 为一个特定设备生成 apk 以及从内部应用测试播放商店站点下载时,我得到一致的结果,该站点返回 apk 也取决于设备。
我是否在这里遗漏了一些东西,或者在包含 .so 文件时应用程序包不是最佳选择,最好再次使用拆分 APK?
重要的不是APK的文件大小,而是应用的下载大小和应用在设备上的大小。
当您构建 App Bundle 时,默认情况下 Play 会在生成的 APK 中保留未压缩的原生库 (.so)。虽然这会导致更大的 APK 文件,但这会导致:
bundletool实际上提供了一个命令get-size,可以为您估计下载大小。在实践中,当可以应用更好的压缩算法时,这个大小通常更小,但这是 Play 的最大努力。
这是来自 Google I/O 2019的视频,其中解释了您可以测量的不同类型大小之间的区别(15:55),以及 Play 帮助减少应用程序大小的方法。
希望有所帮助,
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |