本文对BSDiff/Patch、HDiffPatch和XDelta三种差分包实现方案做对比测试,在Android APK的差分更新实现上,XDelta差分方案实现是最优的。
一、增量更新原理
1、增量更新主要分为两步
1)服务端拿新版本A和旧版本B做差分,生成差分包C‘
2)客户端检测到可增量更新的差分包,下载差分包C‘之后,和本地旧版本B做合成,生成新版本A。
2、步骤详细展开
服务器端:服务端的同学拿到客户端同学开发的新版本A,跟已发布的旧版本B1,B2,B3…做了差分生成相应的差分包C1,C2,C3…,并生成相应差分包的MD5值,当然全量包的签名、MD5值也是需要的,这样客户端[……]