一、增量升级过程
1、 服务器下发patch和新包MD5到应用。
2. 提取手机中已安装的应用
3. 在已安装应用的基础上合并patch包,生成新的安装apk包。
4. MD5校验,判断安装包是否合法有效
二、生成patch包(我是在linux下生成的,也可用我下面demo中的工具生成)
1.准备两个old.apk和一个new.apk。
2.安装bsdiff(apt-get install bsdiff)。
3.执行命令:bsdiff old.apk new.apk create.patch。
三、客户端源码,详见
https://github.com/xidaokun/patchUpgrade
四、实际应用
上面的例子只是给出了核心代码和方法,在实际项目中,patch是放在服务器端的,且每次升级的时候都需要app客户端告诉服务器自己的版本号,服务器根据客户端的版本号来下发patch包,所以服务端要对patch做好历史记录的维护。