蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

Android端APP增量升级技术实现方案

  • 资源ID:54755932       资源大小:449.11KB        全文页数:5页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

Android端APP增量升级技术实现方案

AndroidAndroid 端端 APPAPP 增量升级技术实现方案增量升级技术实现方案 文件状态 [√] 草稿 [ ] 正式发布 [] 正在修改 文件标识 当前版本 作者 完成日期 Android 端 APP 增量升级技术实现方案 1.0 杨月峰 1.1. 文档简介文档简介 本文档帮助读者对本文档建立基本印象,并为阅读后续内容扫清障碍。 1.11.1 文档目的文档目的 本文档主要的读者包括 1、本系统的设计人员包括模块设计人员(理解用户需求,在设计时把握用户需求) 。 2、本系统的系统开发人员编码人员(了解用户需求,为编码提供模版) 3、本系统的测试人员(了解用户需求,为测试提供参考) 1.21.2 文档范围文档范围 概要架构设计文档的目的是描述本项目的技术架构和基础设施, 以便项目组有足够的信 息开始进行应用系统的详细设计。 1.31.3 定义、缩写词和缩略语定义、缩写词和缩略语 文档中的定义、缩写词和缩略语。 2.2.总体技术框架实现总体技术框架实现 2.12.1 增量升级原理增量升级原理 首先将应用的旧版本 Apk 与新版本 Apk 做差分,得到更新的部分的补丁,例如旧版 本的 APK 有 5M,新版的有 8M,更新的部分则可能只有 3M 左右这里需要说明的是, 得到的差分包大小并不是简单的相减,因为其实需要包含一些上下文相关的东西 ,使 用差分升级的好处显而易见,那么你不需要下载完整的8M 文件,只需要下载更新部分 就可以,而更新部分可能只有3、4M,可以很大程度上减少流量的损失。在用户下载了 差分包之后,需要在手机端将他们组合起来。如果不出意外的话,这个生成的apk 和你 之前做差分的 apk 是一致的。 2.22.2 增量升级优缺点增量升级优缺点 优点减少流量,下载更新更快。 缺点 1.增量升级是以两个应用版本之间的差异来生成补丁的, 你无法保证用户每次的及时 升级到最新,所以你必须对你所发布的每一个版本都和最新的版本作差分, 以便使所有 版本的用户都可以差分升级,这样操作相对于原来的整包升级较为繁琐 例如 你的 apk 已经发布了 3 个版,V1.0、V2.0、V3.0,这时候你要在后台发布 V4.0, 那么,当你在服务器上传最新的 V4.0 包时,服务器端就应该立即生成以下差分包 1)V1.0 V4.0 的差分包; 2)V2.0 V4.0 的差分包; 3)V3.0 V4.0 的差分包; 不过可以通过自动化的脚本批量生成。 2.增量升级成功的前提是, 用户手机端必须有能够让你拷贝出来且与你服务器用于差 分的版本一致的 apk,这样就存在,例如,系统内置的 apk 无法获取到,无法进行增量 升级;对于某些与你差分版本一致,但是内容有过修改的比如破解版 apk,这样也是 无法进行增量升级的,为了防止合成补丁错误,最好在补丁合成前对旧版本的apk 进行 sha1sum 校验,保证基础包的一致性。 2.32.3 增量升级主要流程图增量升级主要流程图 2.42.4 增量升级步骤及技术实现增量升级步骤及技术实现 1 1、服务器端对新旧、服务器端对新旧 apkapk 进行对比做差分,生成进行对比做差分,生成 patchpatch 文件文件 apk 文件的差分、合成,可以通过 开源的二进制比较工具 bsdiff 来实现,又因为 bsdiff 依赖 bzip2,所以我们还需要用到 bzip2 开源的二进制比较工具地址 bzip2 地址http//www.bzip.org/downloads.html bsdiff 中,bsdiff.c用于生成差分包,bspatch.c用于合成文件。 以服务器代码编写语言为 java 为例,我们需要将下载的这些 C 文件,build 输出为动态 链接库,以供 Java 通过 jni 调用(Window 环境下生成的文件名为*.dll,linux 系统下为 *.so。其他语言依此类推 调用 bsdiff.c中的 main 方法即可生成 patch 文件. 2 2、终端合成、终端合成 patchpatch 生成新版本生成新版本 APKAPK 文件文件 将上述 bsdiff 和 bzip2 中的 C 文件拷贝到自己的 NDK 项目中,添加 jni 方法后编译成 so 库 给移动端调用,或者直接将 C 文件拷贝到终端项目中,建立 NDK 编译,在 java 层通过 jni 调 用 bspatch.c 文件合成新的 apk.

注意事项

本文(Android端APP增量升级技术实现方案)为本站会员(sunhongz122)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开