HardBirch

Android APK增量更新技巧深夜分享

时间:13-11-06 栏目:安卓技术篇 作者:魔豆先生 评论:0 点击: 8,037 次

http://code.google.com/p/xdelta/

背景

随着android应用不断增多,apk的大小也越来越大,特别是一些游戏应用,动不动10Mb以上,各个版本发布的不断更迭,用户下载apk成为一 个大问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及的 Smart App update,即应用增量升级,或者叫做差分升级

原理

首先将应用的旧版本Apk与新版本Apk做差分,得到更新的部分的补丁,如果原来的版本有8M,新版本有10M,那生成的patch文件可能就有2M多,因此使用差分升级的好处显而易见,可以很大程度上减少流量的损失。

在用户下载了差分包之后,将旧版本的apk与将它们和之前的差分patch进行组合,得到一个新版本的apk应用

当然如果版本之前跨度太大,不建议使用升量升级

DEMO实现原理

 DiffTool.java

1.假设终端安装的是appstore1017版本,apk大小为1908Kb

2.检测更新时,发现新版本appstore2024,apk大小为1926Kb,两个版本大小相差有18K(生成的差异化文件不是简单的相减操作)

3.服务端会根据两个版本生成差异化文件patch及新版本apk的MD5

4.客户端下载完patch后,将原版本appstore1017 apk与patch补丁文件进行合并,合并成功后将新apk的md5与服务端下发的md5进行校验

5.如校验成功,走安装流程

javaxdelta-2.0.1.jar

trove-1.0.2.jar

声明: 本文由( 魔豆先生 )原创编译,转载请保留链接: Android APK增量更新技巧深夜分享

Android APK增量更新技巧深夜分享:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐