[发明专利]一种Android手持设备连续增量的空中升级方法有效
申请号: | 201210096378.7 | 申请日: | 2012-04-01 |
公开(公告)号: | CN102650947A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 曾元清 | 申请(专利权)人: | 广东欧珀移动通信有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 深圳市惠邦知识产权代理事务所 44271 | 代理人: | 满群 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 手持 设备 连续 增量 空中 升级 方法 | ||
技术领域
本发明涉及移动通讯和智能手机,具体涉及一种Android手持设备连续增量的空中升级(OTA)方法。
背景技术
目前,安卓(Android)系统每升级一个升级包都会重启一次系统。对应地,OTA升级出于网络速度、流量价格等考虑,大多会采用增量升级包。增量升级包文件小,但只能在指定的版本上进行升级。在现有的技术上,如果已发布的版本较多,为了考虑到向所有用户提供升级,则只有两种方法,一种是以每一个已发布的版本为基准,发布多个增量包,匹配用户手持设备中可能存在的任意版本;二是一次次递增升级,每次升级到下一个版本,每次升级后重启一次,多次升级后重启到最新版本。这两种方法都有缺陷,第一种方法每次发布新版本需要的增量升级包太多,不方便升级服务器的管理,也不方便开发人员的编译;第二种方法则大大降低了用户升级设备时的用户体验。因此迫切需要一次重启完成所有升级的方法,但目前还没有这种解决方法或这种方法被公开。
另一方面,上述解决方法具有以下技术难题:①OTA应用与Android系统的升级模式(Recovery模式)之间通过命令文件传递升级命令,只有符合规范的升级命令才能被识别;②现有的Recovery模式每升级一个升级包都会重启一次系统,这样一次最多只能执行一次升级操作和一次恢复出厂设置的操作;③现有的Android系统升级在保留分区(MISC分区)保存的升级信息的字符串满足了一次升级一个升级包的升级掉电恢复的要求,但无法满足升级多个升级包的升级掉电恢复的要求。而回避上述三个技术问题的任何跳出Android系统机制的解决方案,势必影响系统使用的使用安全,严重的会造成系统崩溃。
发明内容
本发明需要解决的技术问题是,如何提供一种Android手持设备连续增量的空中升级方法,能传递多个升级包并在它们全部执行完后一次重启完成所有升级且满足升级掉电恢复的要求。
本发明的技术问题这样解决:构建一种Android手持设备连续增量的空中升级方法,包括以下步骤:
101)手持设备的空中升级应用将手持设备当前版本发送到服务器端,服务器端根据服务器上已有的版本判断出适合手持设备的升级包,并将他们返回给应用,应用根据返回的信息写入命令文件;所述命令文件包括多行内置各自升级包路径的升级命令,所述升级包按由前到后升级顺序在所述多行中由上到下排列;
102)重启手持设备进入升级模式;
103)-107)从第一行开始,由上到下按行读取并依次处理所述命令文件中命令直到最后一行;所述处理过程包括在misc分区的升级信息中保存行处理进度;
108)重启手持设备进入升级后的Android系统。
按照本发明提供的Android手持设备连续增量的空中升级方法,步骤103-107)异常掉电,重启后根据所述升级信息和行处理进度从中断行开始继续处理所述命令文件。
按照本发明提供的Android手持设备连续增量的空中升级方法,所述处理进度包括但不限制于是(一)所述升级信息中的当前正在升级的命令字符串或者所述升级信息不存在所述当前正在升级的命令字符串。或者(二)通过记录行号来记录所述处理进度。
按照本发明提供的Android手持设备连续增量的空中升级方法,该Android手持设备这样进行升级掉电恢复,包括以下具体步骤:
401)从所述命令文件中读取命令,并读取保存在misc分区的升级信息,获取其中的当前正在升级的命令字符串;
402)如果所述当前正在升级的命令字符串不存在则选择第一行命令为中断行进入步骤404),否则进入下一步;
403)比较从所述命令文件中逐行读取到的命令与所述当前正在升级的命令字符串,直至从所述命令文件中逐行读取到的命令与所述当前正在升级的命令字符串相同,选择该行命令为中断行;
404)由上到下从中断行开始,按行读取并依次处理所述命令文件中命令直到最后一行;所述处理过程包括在misc分区的升级信息中保存行处理进度;
405)重启手持设备进入升级后的Android系统。
按照本发明提供的Android手持设备连续增量的空中升级方法,所述命令文件还可以包括位于文件最后一行的清除用户数据命令,也可以没有该清除用户数据命令。
按照本发明提供的Android手持设备连续增量的空中升级方法,所述步骤103)-107)包括读取所述命令文件中每行命令输出到对应数组变量中,再操作数组指针从第一行命令对应变量开始,由上到下按行处理各行命令对应变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东欧珀移动通信有限公司,未经广东欧珀移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210096378.7/2.html,转载请声明来源钻瓜专利网。