前言
之前已经讲过了增量更新原理
及增量更新动态库的制作
,那么这节让我们学习下,如何在Android项目中利用代码实现增量更新吧。
今天涉及内容:
- 开始准备
- 三个文件
- 增量更新文件合成库
- 文件权限
- 在
androidmanifast.xml
文件中添加文件读写和apk安装权限 - 动态读写权限申请
- Fileprovider 文件权限
-
apk
安装兼容
- 在
- 增量更新的核心
- 增量更新实现步骤
- 将
app_1.0.apk
和old-to-new.patch
拷贝到手机的可访问路径下 - 将增量更新合成
so
库拷贝到自己项目中 - 最后运行代码
- 将
- 项目结构图和项目效果图
先来波效果图
1.gif
一. 开始准备
在做增量更新时,我们需要准备以下东西:
- 三个文件
app_1.0.apk
: 旧的apk
app_2.0.apk
: 旧的apk
old-to-new.patch
:app_1.0.apk
与app_2.0.apk
差异生成的patch
文件,用作与app_1.0.apk
合成生成新的apk。
如下图
image.png - 增量更新文件合成库
包括几个so
文件夹(用于兼容不同的架构)和一个jar
包(用于java调用文件合成方法),如下图:
image.png
二. 文件权限
我测试场景是将app_1.0.apk
和old-to-new.patch
拷贝到手机的sdcard下(模拟增量更新场景),省去了文件下载流程。
在测试过程中会涉及到一些文件及安装权限。
- 在
androidmanifast.xml
文件中添加文件读写和apk安装权限