第十五节(增量更新前言)

一个知识点:
gradle指定开发平台,在defaultConfig目录里面
    ndk {
            abiFilters "armeabi","x86"
        }

比如说,现在引入了一个三方的so库,这个库里面只提供了armeabi和x86平台的,其他的没有提供,那么就需要加上这个限制,否则默认全平台编译会报错。

记录个错误:

用AS直接连接到手机上能运行,安装apk就运行报错?
解决办法,禁用掉androidstudio的InstantRun

增量更新

Binary diff/patch utility
官网地址:http://www.daemonology.net/bsdiff/


bsdiff and bspatch use bzip2; by default they assume it is in /usr/bin.

bzip2的官网地址:http://www.bzip.org/

image.png

点击这儿下载windows下的源码进行解压:

第十五节(增量更新前言)_第1张图片
image.png

在Release文件夹下面有已经编译好的可执行(exe)文件,先来演示下差分与合并。

第十五节(增量更新前言)_第2张图片
image.png

下面的操作使用的是window平台命令行

第十五节(增量更新前言)_第3张图片
image.png

先生成两个apk包(androidstudio生成),一个新包(appnew.apk)、一个旧包(appold.apk)

第十五节(增量更新前言)_第4张图片
image.png

1.控制台输入bsdiff命令进行拆分
格式:

bsdiff.exe 旧包路径   新包路径   差分包路径

执行完毕会生成diff.patch差分文件
2.控制台输入bspatch命令进行合并

格式:

bspatch.exe 旧包路径   新包路径(指的是利用旧包和差分包生成的新包)   差分包路径

执行完毕生成新包patch.apk
3.验证原来的新包appnew.apk和合并生成的新包patch.apk的MD5值

第十五节(增量更新前言)_第5张图片
image.png

这两个包md5值完全相同,说明原来的新包和合并后的新包是两个完全相同的文件
4.安装appold.apk和patch.apk

第十五节(增量更新前言)_第6张图片
image.png
第十五节(增量更新前言)_第7张图片
image.png

你可能感兴趣的:(第十五节(增量更新前言))