android增量更新----------------最简实现

漫谈Android 增量更新 在前几年,整体移动网络环境相比现在差很多,加之流量费用又相对较高,因此每当我们发布新版本的时候,一些用户升级并不是很积极,这就造成了新版本的升级率并不高。而google为了解决了这个问题,提出了Smart App Update,即增量更新(也叫做差分升级)。尽管现在网络环境有了很大的提升,但一个不争的事实就是应用越做越大,因此,增量更新在目前的仍然是一种解决APP更新包过大的有效方案。 阅读详情

闲来无事,想起来一项貌似高大上的屌屌的技术:增量更新,遂搞之。

在看了相关的博客基础上简单的自己动手实现了一下,记录下。

准备工作:1、bsdiff  bspatch   ,鄙人开发为Ubuntu,遂sudo apt-get install bsdiff  ,环境就准备好了。

  2、apk包,old.apk, 然后增加了几行代码生成一个new.apk。

开始:(我是在Ubuntu terminal执行的)

命令:man bsdiff   

看到:SYNOPSIS
     bsdiff ⟨oldfile⟩ ⟨newfile⟩ ⟨patchfile⟩  //告诉你用法了照着做

命令:bsdiff old.apk new.apk diff.patch   //此命令会在当前目录生成一个diff.patch文件。

命令:man bspatch  

可以看到:SYNOPSIS
     bspatch ⟨oldfile⟩ ⟨newfile⟩ ⟨patchfile⟩

照着做:bspatch old.apk new_patched.apk diff.patch

到此已经重新组包成功,可以使用md5计算一下:

命令:md5sum new.apk    

命令:md5sum new_patched.apk  

你会发现md5是一样的,并且安装正常。


大功告成,增量更新最简实现。



Android之增量更新详解 前言:自从 Android 4.1 开始, Google Play 引入了应用程序的增量更新功能,App使用该升级方式,可节省约2/3的流量。现在国内主流的应用市场也都支持应用的增量更新了,最常见的应用宝省流量更新。 什么是增量更新? 增量更新的关键在于增量一词。平时我们的开发过程,往往都是今天在昨天的基础上修改一些代码,app的更新也是类似的:往往都是在旧版本的app上进行修改。这样看来... 阅读详情

相关推荐

Android增量更新——bsdiff&bspatch

为了节省流量,增量更新应运而生,用这篇文章来记录下运用patch差分包的形式实现无脑增量更新。为了方便,就将生成差分包和差分包与旧apk合并这两个过程都放在安卓机上完成...

lebron的博客 7371

实现android的增量更新

这几天刚好遇到一个问题:APP越做体积越庞大,但是目前又因为其他原因,不适合使用混合开发等缩小体积的方式,所以当用户更新一次APP的时候显得有点麻烦(体积略大)。查了一下资料,因为目前APP基本不会有太大的改动,采用增量更新可以暂时解决一下目前的遇到的难题。     说到增量更新,现在很多游戏都是使用这种更新发送,应该很多人都接触过,下载个游戏几百M,更新的时候却只是下载个十几M的更新包就行。还

a287574014的博客 798

Android更新优化 - 增量更新是如何节省用户时间和流量的

最后聊一聊更新的具体逻辑。增量更新有固定数量法和固定业务法。你可以规定,相差版本小于等于3个,就采用增量更新,大于3个,直接走全量更新。此为固定数量法。固定业务法则是,版本分为大小版本号的更新,每个大版本必须走全量更新,而大版本中的小版本则采用增量更新。大版本采用强制更新,而小版本则可采用选择更新。每次更新到大版本,可能会再次拉取该版本的最终小版本的补丁文件发起二次更新。

跟着哆啦学Android 1447

android 增量更新实现_Android组件化架构 - 10.编译优化

软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程软件试错时间1. Android基础编译流程编译构建的四个步骤:代码编译:将源代码,R文件,AIDL生成的文件等 编译成.class文件代码合成:通过dex工具将.class文件和工程依赖的第三方库文件生成虚拟机可执行的.dex文件,如果使用了MultiDex会产生多个dex文件;资源打包:apkbuilder工具将.dex...

weixin_34308696的博客 492

android增量更新

今天学习了一下增量更新,这个技术已经出现很长时间了,但是现实中,估计只有大厂才利用了这一技术在做产品! 国内有些第三方服务平台,像友盟提供自动更新的服务,也是用的增量方式! 其他的像QQ,Sina微博,陌陌,蘑菇街等都用到了,解压一下它们的apk,看一下lib目录: QQ:libbspatch.so 微博:libbsdiffjni.so 陌陌:libbsdiff.so 蘑菇街:libpa

shonegg的技术人生 1933

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

解决了上述3个问题,就ok了。下面开始解决,首先我们看下增量文件的生成与合并,这个环节可以说是整个流程的核心,也是技术难点,值得开心的是,这个技术难点已经有工具替我们实现了。二、增量文件的生成与合并这个其实就是利用工具做二进制的一个diff和patch了。对了,本文环境为mac,其他系统如果阻碍,慢慢搜索解决即可。下载好了,解压,切到对应的目录,然后执行make:恩,你没看错,报错了,这个错误还比较好解决。

2501_90222587的博客 935

Android实现增量更新

Android实现增量更新 常用的App更新手段一般是热更新、增量更新和全量更新。今天我们要实现的是增量更新,增量更新简单来说,就是在服务器端通过对比旧版本和新版本的apk文件来生成一个差分包,再由客户端下载该差分包与旧版本的apk文件进行合并,从而形成新版本的apk包。增量更新的最大优点就是可以省流量,减少用户的等待时间,当然,前提是差分包的大小要比全量更新的apk大小要小得多才有意义。 bsd...

qq_28649655的博客 716

详解Android增量更新

一、Android 增量更新简介 首先需要明确,Android增量更新与热修复是不同的技术概念。 热修复一般是用于当已经发布的app有Bug需要修复的时候,开发者修改代码并发布补丁,让应用能够在不需要重新安装的情况下实现更新,主流方案有Tinker、AndFix等。 而增量更新的目的是为了减少更新app所需要下载的包体积大小,常见如手机端游戏,apk包体积为几百M,但有时更新只需下载十几M的安装包...

weixin_45258969的博客 873

手把手带你实现Android增量更新

Android增量更新技术在很多公司都在使用,网上也有一些相关的文章,但大家可能未必完全理解实现的方式,本篇博客,我将一步步的带大家实现增量更新。为什么需要增量更新?当我们开发完一个项目之后,上线维护 , 增加新功能 , 添加第三方库 , APK大小从4 - 5M , 增长到10+M , 用户由原来的几十秒下载 , 到现在几分钟以上的下载 , 网络情况不好的时候 , 或许就是十分钟不等。每次全量下载

一个码农的博客 7460

Go语言构建独立exe实现桌面应用更新程序 全量更新 增量更新

Go语言构建独立exe实现桌面应用更新程序 全量更新 增量更新;使用方法请参考nwjs系列博文:nwjs桌面应用升级方案 支持增量全量更新 updater.exe

ESP32-S3驱动PCA9685模块:I2C扩展16路舵机控制实战指南

本文提供了ESP32-S3通过I2C总线驱动PCA9685模块扩展16路PWM输出的完整实战指南。详细解析了PCA9685模块原理、硬件连接、I2C地址配置,并给出了核心驱动代码与角度控制函数,帮助开发者解决微控制器PWM引脚不足的问题,轻松实现多路舵机控制。

weixin_32005771的博客 515

Android 如何实现增量更新

什么是增量更新? 现在的APP安装包体积越来越大,几百兆甚至上G的,当版本更新时不再是消耗大量的流量下载一个完整安装包,而是消耗相对很少的流量下载一个增量包(差分包),采用谷歌Smart App Updates更新机制,就能实现APP的更新了。 用户手机上已经安装着某个APP,然后只需下载一个增量包,手机上的APP和增量包合并生成完整的新APP,并引导用户安装,这个过程就是增量更新。 很多APP都采用了谷歌Smart App Updates更新机制,例如 :微信,支付宝,Play商店,豌豆荚等等。谷歌官方称

yanhuomatou2015的博客 4100

达梦的自定义类型和存储过程支持创建同义词,不支持同义词使用?

达梦8的自定义类型和存储过程支持创建同义词,但是通过同义词调用报错,而在oracle上验证没有问题,难道是发现了达梦的bug了?非也非也,详情请见下文

wy071218的专栏 979

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

感悟 今天是我身份证上的25岁生日,所以法律上来说我25岁啦~~ 一直没有写过总结,本来是准备写个总结的,但是列出来几条觉得太装逼,也不是什么干货,所以决定换个角度。 那么就聊聊,目前人生中做的最正确的决定,那就是: 写博客。 很多专业人士觉得写博客很low,更有甚者认为程序员写博客是因为没有女朋友,从而用来装逼的。 不过我的观点不是这样的,我从自身的角度来表达下对写博客的

Hongyang 6万+

通讯软件002——快速使用modscan进行modbus调试

快速使用modscan进行modbus调试

zhouwl72的博客 1031

Arduino Uno 实验15——MQ-135 气体传感器模块

MQ-135 气体传感器模块简介(空气质量检测 有害气体检测)   MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。   主要用途:家庭和环境的有害气体检测装置   主要芯片:LM393、MQ-135气体传感器 不同气体的型号选择

weixin_42645653的博客 2万+

Android 增量更新实现

如果app依赖本地更新,更新比较频繁的话,每次更新都要让用户下载完整安装包,用户体验会比较差。目前,很多应用商店都实现了apk的增量更新 正常apk更新逻辑: 打包V1.0版本,大小30M,用户安装完成 更新V1.1版本,大小31M,上传服务器得到远程链接,用户打开app收到更新提示,下载V1.1的apk,覆盖安装,更新完成 增量更新apk逻辑 打包V1.0版本,大小30M,用户安装完成 更新V1.1版本,大小31M,上传服务器得到远程链接 https://www.abc.com/apk/.

weixin_42602900的博客 1226

零信任架构实战:“持续验证+动态授权”全流程解析(附策略引擎联动图)

《零信任实战指南:7图拆解核心流程与行业案例》摘要:本文通过7张架构图系统解析零信任五大核心流程:强身份认证、设备检查、动态授权、持续监控和自动降权。对比金融(重数据审计)与制造业(重物理绑定)的落地差异,指出三大常见误区及解决方案。数据显示,零信任可使安全响应提速60%,泄露成本降低45%。文章提供6个月实施路线图,强调零信任是"智能信任"体系,建议企业分阶段改造,优先保护核心系统。附赠金融/制造行业策略模板及甘特图示例。(149字)

sara_han的博客 773

安卓实现基于bsdiff的Dex增量更新

动态的更新app,类似于王者农药更新然后让你重新安装的功能

zjm807778317的博客 2909

LTSPICE仿真电路:(二十八)三极管厄利电压与输出特性曲线深度解析

本文深入解析了LTSPICE仿真电路中三极管的厄利电压与输出特性曲线,详细介绍了厄利电压的物理意义、仿真设置及实际应用。通过伏安特性曲线和厄利电压的分析,帮助读者理解三极管放大性能的关键参数,并提供了电路设计中的优化方案和故障排查技巧。

weixin_26899659的博客 148

在鸿蒙中使用AVPlayer完成视频的播放【坚果派】

播放的全流程包含:创建AVPlayer,设置播放资源和窗口,设置播放参数(音量/倍速/缩放模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。5.准备播放:调用prepare(),AVPlayer进入prepared状态,此时可以获取duration,设置缩放模式、音量等。8.退出播放:调用release()销毁实例,AVPlayer进入released状态,退出播放。6.视频播控:播放play(),暂停pause(),跳转seek(),停止stop() 等操作。今天我们来看一下视频如何正常播放。

坚果的博客 4056

Android增量更新流程讲解

为什么需要增量更新:节省流量,节省流量,节省流量,重要的事情说三遍!    增量更新不仅可以让用户在客户端实现省流量更新,更重要的是增量更新还可以实现服务器端流量的节省,为网站节省成本。增量更新的原理    服务端将应用的旧版本Apk与新版本Apk做差分处理,得到新版APK更新部分的差分包,例如旧版本的APK有6M,新版的有10M,更新的部分则可能只有4M左右(这4M文件除了包含更新内容以外,还包含

Android研发专栏 6662

企业级托管钱包架构设计与MPC密钥管理:基于Go语言的生产级实践

本文探讨了2026年Web3生态中企业级托管钱包的技术架构与实现方案。文章指出,传统私钥管理模式已无法满足机构级资产管理需求,而基于多方安全计算(MPC)和门限签名(TSS)的技术方案成为主流选择。研究分析了托管钱包的四层架构设计,详细解读了MPC的核心技术原理,包括分布式密钥生成(DKG)和签名协议演进。通过Go语言实现案例,展示了密钥分片管理、DKG流程和交易签名等核心模块的代码实现。文章还提出了生产部署的安全原则、容灾设计和监控体系,并讨论了密钥撤销等现存挑战及TEE融合等未来趋势。研究为构建安全、高

分享AI、区块链技术及应用,未来已来 81

Android中的全量更新、增量更新以及热更新

在客户端开发过程中,我们可能会遇到这样一种需求:点击某个按钮弹出一个弹窗,提示我们可以更新到apk的某个版本,或者我们可以通过服务端接口进行强制更新。在这种需求中,我们是不需要通过应用商店来更新我们的apk的,而是直接在apk内部进行版本更新。这次我们就来看看实现这种应用内更新的几种方式。当然,这种玩法只能在国内玩,海外的话会被Googleplay据审的。如果是海外的应用要更新apk,只能在GooglePlay上上传新版本的包。

qq_36828822的博客 8723

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: linux (ubuntu)下C语言入门(编译,make)
下一篇: python学习-----函数
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值