Android OTA在线升级一(架构分析)【转】
本文转载自:http://blog.csdn.net/yanleizhouqing/article/details/50234213
1、前言
OTA(Over-the-Air Technology)空中下载技术。是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。这样,应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务,如信息点播、互动娱乐、位置服务以及银行交易等。通过OTA空中下载技术,手机用户只要进行简单操作,就可以按照个人喜好把网络所提供的各种业务菜单利用OTA机制下载到手机中,并且还可以根据自己的意愿定制具体业务。
移动终端空中下载软件(FOTA) 主要应用的手机领域。在FOTA出现之前,手机制造商和移动网络运营商无法在手机最重要的18至24个月的生命周期中有效地对软件进行升级。一旦用户需要对手机软件进行升级,他们经常迫不得已要带着手机到维修中心进行手机升级。FOTA使手机制造商能够通过无线网络将升级软件发送到用户的手机中从而对软件或是软件的某个部分进行升级。这样就省却了用户去销售网点或是服务中心而耽误得时间,方便了用户,也为手机制造商节约了成本。
“FOTA”(移动终端空中下载软件升级),这个由RED BEND公司开发并获得专利的技术vCurrent Mobile 移动终端空中下载软件升级(FOTA)解决方案,已经被越来越多的厂商应用到自己的产品之中。
通过空中下载的方式有效而可靠的对用户手中的手机进行升级。用这种方式,手机厂商能够更加快速地向市场推出具有新功能的手机并以此提高用户对其手机的满意度。Red Bend 软件公司的vCurrent Mobile技术可以生成极小的更新包对手机进行100%精确安全的更新从而节约了由此而产生的成本。与其它FOTA解决方案不同的是,vCurrent Mobile 生成的软件更新包不会妨碍原有的映像文件,从而使得更新过程简单而迅速。
FOTA的技术特点:
Ø Red Bend的FOTA客户端支持标准的OMA DM服务器,兼容性好
Ø 中国移动的DM系统也采用Red Bend的技术
Ø Red Bend的技术在DM领域处于领先
Ø 升级包采用差分包形式,减少下载浏览
Ø 客户端必须要Red Bend提供基础库
Red Bend软件公司是固件无线更新( FOTA )的领导者,根据独立市场研究公司Ovum的报告,截至2009年第四季度,Red Bend软件公司在FOTA手机市场占据了71 %的市场份额。该解决方案的精确性和安全性经过了数百万次验证,现已被行业顶级手机、调制解调器、M2M模块制造商广泛采用。LG电子,摩托罗拉,NEC,夏普,索尼爱立信等世界手机巨头利用RedBend公司的FOTA解决方案。
2 Android OTA
Android平台提供Google diff arithmetic差分机制,升级包支持整包(Full Image)和差分包(Differential Image)。OTA运行原理如下图:
图1 OTA运行原理图
上图所示的就是OTA运行的基本运行原理示意图。
Ø OTA Server主要是对差分包的一个上传、下载以及版本的管理。
Ø 开发者通过差分包的制作工具制作出差分包,使用客户端进行上传和对版本的管理。
Ø 手机通过WIFI/GPRS网络进行连接下载,然后完成更新。
3 服务器侧差分包制作原理
差分包的制作工具是google提供的制作工具,是由一些脚本和差分包制作工具组成,分散在code源码之中。考虑到工具可能被修改或者调整,因此每次制作都需要从code中重新提取,用于制作前后两个版本之间的差分包,工具文件如下图所示。
1、recovery:这个目录是Make用来检查recovery的版本号
2、releasetools这个目录下提供的是制作OTA package的脚本工具
3、security这个目录是用来生成OTA包的签名
4、bin image的差分工具
5、framework是用来给apk包进行签名
提取原始版本和升级的整包作为制作差分包的原始包,提取后分别命名为org.zip和ota.zip。编写一个perl脚本,脚本通过下面的命令生成差分包。
Ø /build/tools/releasetools/ota_from_target_files –n –i org ota update.zip –制作差分包
差分包生成后,手机通过客户端与服务器通信后下载差分包进行升级。
Android OTA在线升级一(架构分析)【转】的更多相关文章
- Android OTA在线升级二(升级包编译原理分析) 【转】
本文转载自:http://blog.csdn.net/huryjiang/article/details/7590015 1 升级包的制作 基本命令: Ø makeMtk [project[flav ...
- Android apk在线升级
APK 在线升级 APK 在线升级几乎是所有程序必备的功能. 在线升级功能能解决已有的问题并提供更丰富的新功能. 基本的流程是: 检测到新版本信息 弹出升级提示窗口 点击 No 不进行升级,完毕! 点 ...
- ESP8266的RTOS版本ota在线升级基本流程及备忘
ESP8266的ota升级由于涉及到不同的flash空间大小,以及新旧版本的不同,所以流程相对比较复杂.笔者这个倒腾的时间还是有一些的,不过,总归把事情解决了.下面记录一下基本的流程和遇到的问题. 还 ...
- 实现乐鑫esp8266的无线OTA升级,实现远程在线升级固件
代码地址如下:http://www.demodashi.com/demo/12994.html 一.前言: 写了这么多的8266博文,一直以满意100%的心态去敲写代码固件烧录,以致很少出现 bug ...
- android 在线升级借助开源中国App源码
android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...
- Android OTA 升级之三:生成recovery.img
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手 ...
- Android架构分析之Android消息处理机制(二)
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...
- Qualcomm Android display架构分析
Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu ...
- Android架构分析之使用自定义硬件抽象层(HAL)模块
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本:2.3.7_r1 Linux内核版本:android-goldfish-2.6.29 在上一篇博 ...
随机推荐
- 深入理解dp px density
1 http://blog.csdn.net/lcaihy1314/article/details/8446401 2 待续
- JQuery加载并解析XML
转自http://blog.csdn.net/pan_junbiao/article/details/7441003,致谢! 1.简述 XML(eXtensible Markup Language)即 ...
- Dephi泛型
TArray TEnumerator(抽象) TEnumerable(抽象) 实际使用:TList TQueue TStack TPair TDictionary ,内部都包含 TValueEnume ...
- java之UDP(datagramsocket,datagramPacket)实例
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import ...
- CNN 防止过拟合的方法
CNN 防止过拟合的方法 因为数据量的限制以及训练参数的增多,几乎所有大型卷积神经网络都面临着过拟合的问题,目前常用的防止过拟合的方法有下面几种: 1. data augmentation: ...
- java之数字彩虹雨
© 版权声明:本文为博主原创文章,转载请注明出处 数字彩虹雨: 从上至下,随机出现一串字符串,以不同的速度运行到底部:类似于黑客帝国里面的场景 GitHub:https://github.com/Ta ...
- 基于vue + axios + lrz.js 微信端图片压缩上传
业务场景 微信端项目是基于Vux + Axios构建的,关于图片上传的业务场景有以下几点需求: 1.单张图片上传(如个人头像,实名认证等业务) 2.多张图片上传(如某类工单记录) 3.上传图片时期望能 ...
- Oracle关于快速缓存区应用原理
为什么oracle可以对于大量数据进行訪问时候能彰显出更加出色表现,就是通过所谓的快速缓存来实现数据的快速运算与操作.在之前的博文中我已经说过sql的运行原理,当我们訪问数据库的数据时候,首先不是从数 ...
- tomcat下发布项目,遇到的问题总结
以前一直是在eclipse下启动tomcat,然后访问web项目.今天脑门一热,就想用tomcat的bin目录下的startup.bat来启动tomcat,虽然tomcat的启动很顺利,但是访问网页的 ...
- 【BZOJ3333】排队计划 树状数组+线段树
[BZOJ3333]排队计划 Description Input Output Sample Input 6 2 160 163 164 161 167 160 2 3 Sample Output 6 ...