开源 Android App 增量更新库 版本升级

开源 Android App 增量更新库 版本升级



经过几天的重构,我将之前写的一个Android 应用增量更新的示例程序重构为了一个开源库,现在已经push 到 GitHub 上,欢迎大家Watch、Star、Fork。

包含以下内容

  • 服务器端生成差异包的工程:AppUpdate
  • 客户端使用的开源apk合并库:ApkPatchLibrary
  • 引用ApkPatchLibrary,实现增量更新的ApkPatchLibraryDemo
  • 旧版本的微博Android客户端,以及服务端生成的新旧微博差分包。

原帖地址

GitHub地址

时间: 2024-12-15 01:36:58

开源 Android App 增量更新库 版本升级的相关文章

Android App补丁更新

上一周比较忙,忙的不可开交,写的文章也就两篇,在此希望大家见谅.这周呢,突然闲下来了,有时间了,就重构了下代码,捣鼓点前卫的技术,沉淀沉淀.所以呢,今天就分享下这几天研究的东西. 移动互联网主打的就是用户体验和产品的快速迭代,通过用户反馈和用户行为跟踪及时调整产品方向,这样才能持续保持生命力和创造力.说的接地气点就是,你频繁的升级更新,有时只是修复了几个bug或者微调了下界面,就让用户下载10几兆甚至更大的apk,而且在目前国内这个4G还不是普及的时候,对用户来说是很不友好的.有没有这样一种策略

Android数据自动更新库DataAutoRefresh

很多android应用,比如音乐播放器.视频播放器.小说阅读器或者其它需要获取本地磁盘指定数据格式数据列表的应用,在磁盘数据有变化(新增或者删除,比如下载完成,拔TF卡.换TF卡)时,需要自动更新数据列表.很多android应用都是需要用户手动去刷新才会更新列表,通过DataAutoRefresh可以实现自动更新. 工程和Demo放在GitHub上了,工程在实际使用中需要不断改进,DataAutoRefresh下载地址 Android数据自动更新库DataAutoRefresh

APP增量更新

增量更新的概念: 当我们手机上安装的app版本与服务器的最新版本不一致的时候,传统做法是重新下载安装一个最新版的apk文件,不过这种方式比较耗流量,不利于用户体验.增量更新就是只下载当前app版本与最新版本的差异内容,然后与当前版本就行合并成最新版本再安装.目前支持增量更新的应用市场 有GooglePlay.360手机市场等. 增量更新的原理: 使用开源工具bsdiff对新版apk和旧版apk进行二进制文件比较,得到patch补丁文件,然后使用开源工具bspatch将旧版apk和补丁文件合并,重

Android Apk增量更新

前言 有关APK更新的技术比较多,例如:增量更新.插件式开发.热修复.RN.静默安装. 下面简单介绍一下: 什么是增量更新?   增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样. 与原来每次更新都要下载完整apk包的做法相比,这样做的好处显而易见:每次变化的地方总是比较少,因此更新包的体积就会小很多. 增量更新的流程   1.APP检测最新版本:把当前版本告诉服务端,服务端进行判断. 如果有新版本,服务端需要对当前版本的APK与最新版本的APK进行一次差分,产生patch差分文

android 客户端增量更新

首先我们需要了解什么是增量更新,增量更新通俗点说就是客户端只需要下载新版本与旧版本的差分包,客户端再把差分包与旧版本进行合成得到一个新apk,在安装这个新的apk,这个新的apk其实新版本,实现更新,注意增量更新与热修复的区别. 原理大家可以查看:详情请见这篇文章Android 增量更新完全解析 是增量不是热修复 我们需要了解ndk,jni,以及.so如何生成,下面是我们windows的准备过程 1.下载bsdiff 下载地址:http://www.daemonology.net/bsdiff/

基于html5plus平台 实现app增量更新功能

对于移动app,尤其是webapp,如何更新一直是比较重要的话题.以前的大部分app都是从应用商店进行版本更新,但是对于webapp来说,使用增量更新可以节省流量:更重要的是,它免去了新版本在应用商店的审核流程,使上架时间可以更加提前了. 一.前提 环境:使用html5plus作为webview与手机平台交互的中间件:关于html5plus,请自行参考 http://www.html5plus.org/#home 需求:点击"检查更新",app在线检查版本是否有更新,如果有,下载并更新

android app内部更新适配到8.0

app 内部跟新是app中必须要有的功能,在app出现改变时,app内部更新能以最快的速度将应用提升到最新版本. 步骤: 1.获取本地app的版本号 int versionCode = 0; try { // 获取软件版本号, versionCode = this.getPackageManager().getPackageInfo( getPackageName(), 0).versionCode; } catch (NameNotFoundException e) { e.printStac

【Android-功能】Android应用增量更新

很久没有更新博客了,真是堕落啊,几次想提起笔,却总是被各种琐事耽搁,以后会多写文章记录点滴. 背景 随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及的 Smart App update,即应用增量升级,或者叫做差分升级的做法,并在新版本的Google Play中得到支持,某天在和群友聊天是扯到这方面的话题,好奇就稍微研究了一下. 增量升级的原理 今天我们就来实现类似的应用的增

【加密解密】Android App so动态库调试分析

调试so手机需要root权限,同时开启调试模式. 1.上传android_server到/data/local/tmp adb push android_server /data/local/tmp 2.root权限执行./android_server,结果如下 [email protected]:/data/local/tmp # ./android_server ./android_server IDA Android 32-bit remote debug server(ST) v1.17