一.什么是增量更新?
增量更新的关键在于如何理解增量一词。来想想平时我们的开发过程,往往都是今天在昨天的基础上修改一些代码,app的更新也是类似的:往往都是在旧版本的app上进行修改。这样看来,增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样。
与原来每次更新都要下载完整apk包的做法相比,这样做的好处显而易见:每次变化的地方总是比较少,因此更新包的体积就会小很多。
二.增量更新的原理
三.新建应用,写native方法
1.写一个native方法
2.生成对应的.h文件
1, 从Android Studio的Terminal里进入到, /src/main/java 目录下,一定要刀这个文件夹下来执行命令操作。
2, 执行javah XXX.XX.XXX 即可, XXX.XX.XXX是要生成.h文件的完整路径名,包名+文件名
3, 然后就会在当前目录下生成相应的.h文件。
3.我们需要将bspatch.c以及bzip的相关代码拷贝到jni目录下(bzip只保留.h头文件和.c文件)。并将bspatch.c中的main()方法名修改为executePatch(),并且修改其中bzip的引入头为#include "bzip2/bzlib.h".目录结构如下:
4.创建C文件并编辑(记得配置NDK环境)
5.修改build.gradle配置
6.生成os文件
输出目录:
去对应的项目空间中搜索“ndk”,并跟进到lib目录下,找到需要的文件复制出来
四.生成拆分包
在应用中打包出一个旧的应用,在旧的应用中做一些修改,如:assets文件夹加些大的资源文件,让新版app大一些
把patch文件考到手机中(真是情况是从服务器下载下来),加入对应权限