一个知识点:
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/
点击这儿下载windows下的源码进行解压:
在Release文件夹下面有已经编译好的可执行(exe)文件,先来演示下差分与合并。
下面的操作使用的是window平台命令行
先生成两个apk包(androidstudio生成),一个新包(appnew.apk)、一个旧包(appold.apk)
1.控制台输入bsdiff命令进行拆分
格式:
bsdiff.exe 旧包路径 新包路径 差分包路径
执行完毕会生成diff.patch差分文件
2.控制台输入bspatch命令进行合并
格式:
bspatch.exe 旧包路径 新包路径(指的是利用旧包和差分包生成的新包) 差分包路径
执行完毕生成新包patch.apk
3.验证原来的新包appnew.apk和合并生成的新包patch.apk的MD5值
这两个包md5值完全相同,说明原来的新包和合并后的新包是两个完全相同的文件
4.安装appold.apk和patch.apk