android差分升级原理,BigNews Android 增量更新框架差分包升级 @codeKK c开源站

支持增量包/差分包/升级包

原理:在服务器端使用 bsdiff 工具将新老安装包的差异打包为一个体积较小的差分包/升级包,然后在 App 端通过 bspatch 工具(和 bsdiff 配套的)用差分包/升级包升级本地的安装包并安装,达到增量更新的目的。

本框架集成了 bsdiff/bspatch 工具,可以在 Android 端完成差分与合并操作。

方案:把升级包/差分包从服务器上下载下来,使用 BigNews.make()结合本地安装包生成最新安装包进行安装更新。

导入方法:

方法 1. 下载本项目,Android Studio 中 File->New->Import Module 导入本项目。

方法 2. 下载本项目,将本项目编译,从 library/build/outputs/aar 中拷贝 library-release.aar 重命名为 bignews.aar, 放到你项目的 libs 目录。

打开项目模块内的 build.gradle(通常为 app/build.gradle)添加代码后 Gradle Sync:

repositories {

flatDir {

dirs 'libs'

}

}

dependencies {

implementation(name: 'bignews', ext: 'aar')

}

方法 3. (推荐!)无需下载本项目,在你项目根 build.gradle 添加代码:

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

在你项目模块内的 build.gradle 添加代码,然后 Gradle Sync:

dependencies {

implementation 'com.github.ha-excited:BigNews:0.1.2'

}

调用方法:

合并: 从差分包/升级包和老安装包合并升级到新安装包,新安装包放在 newApkPath。

/**

* oldApkPath: 老安装包路径

* newApkPath: 新安装包路径(输出)

* patchPath: 升级/差分包路径

* return: 成功返回 true,否则为 false。

*/

BigNews.make(oldApkPath, newApkPath, patchPath);

差分: 将新安装包和老安装包的差异打包为差分包/升级包,输出到 patchPath。

/**

* oldApkPath: 老安装包路径

* newApkPath: 新安装包路径

* patchPath: 升级/差分包路径(输出)

* return: 成功返回 true,否则为 false。

*/

BigNews.diff(oldApkPath, newApkPath, patchPath);

项目中一般使用合并功能。

Make a BigNews!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值