【发布时间】:2023-04-04 12:45:01
【问题描述】:
我面临着减小我的 android 应用程序的 .apk 文件大小的任务。我的 apk 大小现在超过 100MB,并且暂时会增长。所以我认为android app bundle 是一个临时解决方案。 .so 库在 apk 中占用的空间最多,如果可能的话,我想把它们带到expansion files。有没有人有这样的经验,你有什么建议来学习解决这个问题?
【问题讨论】:
-
出于好奇,您为什么将 App Bundle 视为临时解决方案?借助动态交付,您可以将您的应用拆分为可按需提供的单独“动态功能模块”,因此除非您的用户始终处于离线状态,否则请考虑控制您的应用大小。
-
我认为是因为 AAB 文件大小限制为 150MB,并且我预测我的应用在多个版本发布中都可以达到此限制。
-
限制是最大初始下载大小,而不是整个 AAB。因此,例如,如果您包含多个 ABI 的本机库,则只有较大的一个将计入 150 MB。此外,当您添加按需动态功能时,这些也不会计入 150 MB。您可以使用 bundletool 来计算下载大小的估计值(请参阅“get-size”命令)
-
@Pierre 我猜这是因为创建应用程序包很简单,只需选择部署为包而不是 APK。实现动态功能需要更改代码和可能的用户界面,用户需要等待下载功能。
-
实现扩展文件也需要对代码进行大量修改。它还需要不断检查用户是否没有删除带有扩展文件的本地存储,如果有,则手动触发文件的重新下载。我不知道有多少开发者喜欢使用扩展文件。
标签: android shared-libraries apk apk-expansion-files