之前做过android差量更新,前几天团队又碰上,今天呢就简单写下应用。
这篇文章主要讲:1、cmd中生成差异包,差异包合并apk 2、java中实现生成差异包,差异包合并apk。 至于android中的代码如何合并差异包与oldApk生成newApk,需要依靠JNI,网上很多patch.so文件,但不可以直接用,需要修改包名与方法名。这次就不详细谈了。
网上下载bsdiff
1、cmd中生成差异包,差异包合并apk
进入bsdiff目录地址
bsdiff old.apk(详细目录地址) new.apk(详细目录地址) xx.patch (详细目录地址)
bspatch old.apk(详细目录地址) new.apk(详细目录地址) xx.patch (详细目录地址)
完成之后可以用md5的方式校验。
2、java中实现生成差异包,差异包合并apk。
Runtime.getRuntime().exec("cmd /k start "+str, null,dir);
str(命令)
dir(bsdiff目录地址)
PS:其实它也是第一种方法的变种,但是他可以设置变量,书写方法生成多个自己需要的差异包