【问题标题】:Is there a way to make an android app not to update app bundle parts if these parts are unchanged between versions?如果这些部分在版本之间没有变化,有没有办法让 android 应用程序不更新应用程序包部分?
【发布时间】:2020-09-18 19:23:51
【问题描述】:

我想将使用 .obb 文件 (~70 MB) 的 Android 应用程序(大约 40 MB 的基本 apk)迁移到 Android App Bundle 格式。我确信 .obb 文件中的资源的更新频率将低于基础部分。因此,用户无需在每次应用更新时下载完整的应用 (40 + 70 = 110 MB),而只需下载更改的部分 (~40 MB)。

迁移后我可以使用什么来为最终用户提供相同的体验(仅更新更改的部分)?

理想情况下,这些未更改的资源应该可以通过 AssetManager 访问,就像它们位于 assets 目录中一样。

目前,我发现 Play Asset Delivery 功能允许将一些资源移动到单独的模块,以便在不同时间(安装时间/下载后立即/需要时)将其交付给设备。 我已经实现了一个安装时间模块逻辑并通过内部 + alpha 测试对其进行了测试。在整个测试过程中,我发现每次应用更新都会迫使 Google Play 下载完整的应用(约 110 MB),而不是更改的部分(约 40 MB)。我不知道当我将应用程序发布到“所有人可用”轨道时这种情况是否会改变,我也找不到有关它的信息。因此,“安装时间模块如果未更改将不会重新下载;以下是描述此的文档:”的答案是完全可以接受的,并且是最受欢迎的答案之一。

【问题讨论】:

    标签: android google-play android-app-bundle apk-expansion-files


    【解决方案1】:

    tldr;是的,在生产中,下载大小会更小。

    当您将应用发布到生产环境(无论是 APK 还是 App Bundle)时,Play 会在此版本和之前的应用版本之间生成您应用的补丁,以便您的用户只下载这两个版本之间的差异。结果是,如果您不修改动态模块的内容,用户仍然会收到未更改模块的更新,但下载量会非常小。

    请注意,实际上,下载更新的前几个用户可能仍会获得完整大小。

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2010-10-12
      • 2021-03-14
      相关资源
      最近更新 更多