我最近读到Google正在使用逐个文件修补和另一个算法 BsDiff - Delta update 修补apk文件并仅提供更新大小的apk从Play商店下载。
我浏览了下面的博客和链接:
2)https://github.com/andrewhayden/archive-patcher/blob/master/README.md for“File-by-File Patching”
3)https://android-developers.googleblog.com/2016/07/improvements-for-smaller-app-downloads.html用于“BsDiff”修补
我在我的Linux上安装了BsDiff并将其应用于新旧apk但它仍然与应用程序大小相同,而且我在Play商店中更新它时,它显示了安装时的完整尺寸。
另外,我下载了“File-by-File Patching”代码并通过它制作了apk并在Play商店更新了它,但同样没有减小尺寸的apk。
所以,如果有人这样做或知道这一点,请给出你的答案,这样我就可以在Play商店更新缩小版应用更新。
答案 0 :(得分:2)
您不需要做任何事情来触发这些APK尺寸缩减以进行更新。您绝对不需要下载BS Diff或修补代码。 Play会自动为您完成此操作。但是,根据应用程序的受欢迎程度,可以根据需要应用某些优化。因此,如果您的应用不是很受欢迎,可能需要一段时间才能看到优势。
如果您希望Google能够应用尽可能多的优化,那么您应该选择Google Play App Signing,如果您还没有。这为Google Play提供了最有效优化应用更新的功能,虽然它现在可能不会影响这些优化。
答案 1 :(得分:1)
一个APK有四种不同的尺寸,分类为:
你主要关注的是Raw Apk大小,它没有多大区别。它的谷歌游戏商店使用不同的算法来压缩APK。这反过来确保apk的下载大小更低,以便最终用户减少移动数据消耗。
下载压缩的APK后,它将在用户的设备上解压缩,您将获得安装大小。这个大小可能与原始大小不同,因为它将涉及一些JIT和/或AOT。
在更新尺寸时,您将Apk上传到具有更新的Play商店,google play store将依次计算增量并将其提供给最终用户。然后,此delta将在设备上合并。此优化减少了更新大小,因此不会再次下载整个APK,用户将节省成本。
总而言之,您可能不会看到对apk的原始大小产生很大影响,但Play商店的优化将确保下载大小和上传大小最佳。
有关要应用的更多详细信息,请参阅this文章。它提供了我所描述的apk尺寸的解剖结构,并提供了减小尺寸的重要提示。