Android App增量更新详解及实例代码

时间:2021-05-21

Android App增量更新实例--Smart App Updates

介绍

  你所看到的,是一个用于Android应用程序增量更新的开源库。

  包括客户端、服务端两部分代码。

  原理

  自从 Android 4.1 开始,Google引入了应用程序的增量更新。

  Link: http://developer.android.com/about/versions/jelly-bean.html

Smart app updates is a new feature of Google Play that introduces a better way of delivering app updates to devices. When developers publish an update, Google Play now delivers only the bits that have changed to devices, rather than the entire APK. This makes the updates much lighter-weight in most cases, so they are faster to download, save the device's battery, and conserve bandwidth usage on users' mobile data plan. On average, a smart app update is about 1/3 the sizeof a full APK update.

  增量更新的原理非常简单,就是将手机上已安装apk与服务器端最新apk进行二进制对比,并得到差分包,用户更新程序时,只需要下载差分包,并在本地使用差分包与已安装apk,合成新版apk。

  例如,当前手机中已安装微博V1,大小为12.8MB,现在微博发布了最新版V2,大小为15.4MB,我们对两个版本的apk文件查分比对之后,发现差异只有3M,那么用户就只需要要下载一个3M的差分包,使用旧版apk与这个差分包,合成得到一个新版本apk,提醒用户安装即可,不需要整包下载15.4M的微博V2版apk。

  apk文件的差分、合成,可以通过开源的二进制比较工具bsdiff来实现(Link:http:///cundong/SmartAppUpdates

  一些说明

  源码中,包含以下文件:

  1.ApkPatchLibraryServer:Java语言实现的,服务器端生成差分包工程;

  2.ApkPatchLibrary:客户端使用的apk合成库;

  3.ApkPatchLibraryDemo:引用ApkPatchLibrary Library 的Demo,以新浪微博客户端的升级为例,假设手机上安装的是V4.5.0,最新版是V4.5.5,用户需要从V4.5.0升级到V4.5.5。

  4.TestApk:用于测试的,旧版本的微博客户端,以及使用ApkPatchLibraryServer生成的新旧新浪微博差分包。

通过此文,希望能帮助到有需要的朋友,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章