前言

增量更新和普通更新的差别是下载包较小,也可以叫做省流量更新。增量更新是在后台服务器将升级包和旧版本的安装包进行二进制比较得到一个较小的差分包,差分包一般比升级包来的小;在用户升级时只需下载差分包,然后在客户端上,旧版本的安装包与差分包合成一个新的安装包。

服务端的实现参考:Android应用的增量更新,主要是通过linux工具bsdiff计算新老apk文件的差异,将差异记录为一个体积较小的patch包。
      客户端实现:BigNews框架(Github: ha-excited/BigNews)。

步骤

1.在你项目根build.gradle添加代码:

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

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

dependencies {compile 'com.github.ha-excited:BigNews:0.1.2'

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

/**
* oldApkPath: 老安装包路径
* newApkPath: 新安装包路径(输出)
* patchPath: 升级/差分包路径
* return: 成功返回true,否则为false。
*/
BigNews.make(oldApkPath, newApkPath, patchPath);

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

/**
* oldApkPath: 老安装包路径
* newApkPath: 新安装包路径
* patchPath: 升级/差分包路径(输出)
* return: 成功返回true,否则为false。
*/
BigNews.diff(oldApkPath, newApkPath, patchPath);

Android增量更新相关推荐

  1. android cpp做成so库,Android增量更新(二)—制作合成文件so库

    ###前言 在上节中,我们已经学习了`Android增量更新`的实现原理,那么在Android开发的移动端,我们需要涉及到的其实是`文件合成`的这个流程. 那么,今天就来讲讲增量更新合成流程的实现吧. ...

  2. Android 增量更新实现

    如果app依赖本地更新,更新比较频繁的话,每次更新都要让用户下载完整安装包,用户体验会比较差.目前,很多应用商店都实现了apk的增量更新 正常apk更新逻辑: 打包V1.0版本,大小30M,用户安装完 ...

  3. Android增量更新框架

    Android增量更新框架 框架介绍 功能简介 简易效果图 增量更新配置 快速使用 Api详解 项目地址 框架介绍 功能简介 Android App更新框架,包含增量更新.多线程下载等功能.一句代码链 ...

  4. android中热更新模式,热更新再牛,也少不了Android 增量更新

    码个蛋(codeegg)第 785 次推文 作者: C_YQ 原文: https://juejin.im/post/5da845cdf265da5b7244c63e 码妞看世界 接骨草~ 虽然没有增量 ...

  5. Android 增量更新实例(Smart App Updates)

    http://892848153.iteye.com/blog/2022851 转自:http://my.oschina.net/liucundong/blog/160436 目录[-] 官方说明 实 ...

  6. Android增量更新——bsdiffbspatch

    原址 现在公司对于app增量更新的需求越来越多,因为增量更新不仅仅可以节省流量,更重要的一点是减少用户更新app的时间,有益于用户体验.    这篇文章将介绍运用patch差分包的形式实现增量更新.为 ...

  7. Android 增量更新

    随着社会的发展,虽然对于一个用户而言,流量不值钱,每个用户的手机会有多少个G的流量,或者不限制流量,或者经常使用wifi.所以目前在Android端流量的优化,可能没有那么重要了.但是当我们的用户更新 ...

  8. android增量更新详细解读

    1 增量更新的意义 a 神马是增量更新? 这个概念很早就被提出,但是目前的形式,小厂用的很少,大厂用的比较多:企鹅的QQ和微信里面都有增量更新着玩意:到底神马是增量更新? 首先增量更新主要用于新版本a ...

  9. Android 增量更新完全解析 是增量不是热修复

    本文在我的微信公众号:鸿洋(hongyangAndroid)首发. 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/5276165 ...

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

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

最新文章

  1. ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总
  2. Python 的运算符
  3. 性能超强悍 戴尔 R920服务器
  4. matplotlib xticks 基于 旋转_咬文嚼字——对matplotlib的文字绘图总结
  5. Zen Coding css,html缩写替换大观 快速写出html,css
  6. WinXP中快捷方式加箭头
  7. c51为啥要宏定义时钟_51单片机时钟实训报告
  8. 蓝桥杯大赛青少年创意编程 推荐考生阅读 相关书籍的相关视频(部分)
  9. cache工作的详细过程
  10. Android Webview实现文件下载功能
  11. android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
  12. gradle_Gradle
  13. 苹果手机编辑word_苹果手机自带了三个PDF功能!每一个都这么好用!你知道几个呢?...
  14. 1 三角函数的正交性
  15. 如何让Word表格文字上下居中?
  16. java(娄娄)的表白代码
  17. html向下三角箭头,CSS 实现三角形尖角箭头的实例
  18. 高德地图加载标注并实现缩放动画
  19. linux ubuntu硬盘数据丢失【硬盘开机未挂载】
  20. 【Unity 22】 Unity 力,扭矩,刚体,触发器的简单使用

热门文章

  1. 实时监控网页变化,并增加多种提示信息
  2. DynamipsGUI笔记
  3. 假如时光倒流,我会这么学习Java (转载)
  4. [网络安全自学篇] 八十七.恶意代码检测技术详解及总结
  5. 面对不稳定的百度网盘离线下载,这些备用方案可以帮你应急
  6. 中国十佳IT外包企业排行榜
  7. 搭建一个网站的价格以及步骤全面解读
  8. Javaweb-学习路线
  9. ep100can程序
  10. Android studio导入项目报错Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2