基于Android操作系统的系统升级方法与流程

文档序号:11864454阅读:681来源:国知局
基于Android操作系统的系统升级方法与流程

本发明涉及嵌入式开发测试技术领域,尤其涉及一种基于Android操作系统的系统升级方法。



背景技术:

随着Android操作系统的使用越来越广泛,以及更新的速度也不断加快,Android平台上的应用软件也在不断的更新。同时,这也给用户带来了一个困难,那就是要不断去升级系统。升级系统(也就是常说的刷机)还需要先查看自己当前系统固件的版本,然后上网下载与当前固件型号相同的系统升级包,手动对系统进行升级,并且对于应用程序的升级还需要到第三方应用平台下载应用程序升级包再进行升级。由此可见,现有技术中的系统升级方法存在以下不足:1)操作麻烦,存在刷机失败不可恢复的风险;2)有局限性,只能在有网的情况下才可以进行;以及3)升级失败后原有的文件信息丢失。



技术实现要素:

因此,为克服现有技术存在的缺陷和不足,本发明提出一种基于Android操作系统的系统升级方法。

具体地,本发明实施例提出的一种基于Android操作系统的系统升级方法,包括步骤:(i)检测系统升级包文件;(ii)当检测到系统升级包文件,解析所述系统升级包文件中的配置文件以获取所述系统升级包文件对应的系统版本;(iii)比较所述系统版本与基于Android操作系统的嵌入式设备的当前系统版本以判断是否满足系统升级条件;(iv)当满足系统升级条件,对所述系统升级包文件中的系统升级文件进行第一签名认证;(v)在所述第一签名认证成功后,将所述系统升级文件拷贝到系统Cache目录下;(vi)对拷贝至系统Cache目录下的系统升级文件进行第二签名认证;(vii)在所述第二签名认证成功后,使所述基于Android操作系统的嵌入式设备进入恢复模式以进行系统升级。

在本发明的一个实施例中,所述系统升级方法还包括步骤:在系统升级成功后,删除系统Cache目录下的所述系统升级文件并重新启动所述基于Android操作系统的嵌入式设备。

在本发明的一个实施例中,所述配置文件的内容包含:所述系统升级文件的名称、硬件信息、内核信息、设备信息、传输校验码多项式、系统版本代码、所述配置文件后的总数据长度、所述系统升级文件的有效数据长度和保留字段;其中,所述设备信息包括产品名称、平台名称和系统版本名称。

在本发明的一个实施例中,所述系统升级方法在步骤(i)之前还包括步骤:所述基于Android操作系统的嵌入式设备在开机时自动监听USB存储设备插入事件。

在本发明的一个实施例中,步骤(i)具体为所述基于Android操作系统的嵌入式设备通过Http协议连接至云服务器并定期检测所述云服务器上的系统升级包文件。

在本发明的一个实施例中,步骤(i)具体为所述基于Android操作系统的嵌入式设备读取监听到的USB存储设备上的文件以检测系统升级包文件。

在本发明的一个实施例中,步骤(i)具体为所述基于Android操作系统的嵌入式设备通过TCP/IP或Http协议连接管理端并接收所述管理端发送的系统升级包文件。

在本发明的一个实施例中,所述基于Android操作系统的嵌入式设备为LED显示屏异步控制卡系统。

在本发明的一个实施例中,所述第一签名认证和所述第二签名认证均用于验证文件完整性。

由上可知,本发明实施例可以达成以下一个或多个有益效果:a)升级简单,自动检测配置文件是否满足升级条件,用户不需要关心系统的内部信息;b)升级失败后原有的文件信息不丢失;以及c)实现离线升级,支持多U盘升级,并在上电时自动检测U盘,不用再次插拔U盘。

通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。

附图说明

下面将结合附图,对本发明的具体实施方式进行详细的说明。

图1为本发明实施例提出的一种基于Android操作系统的系统升级整体架构示意图。

图2为本发明实施例提出的一种系统升级包文件的结构示意图。

图3为本发明实施例提出的一种基于Android操作系统的系统升级的流程示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

请参见图1,其为本发明实施例提出的一种基于Android操作系统的系统升级整体架构示意图。具体地,

1)当用户采用USB存储设备13进行升级时,则将相关的升级包文件放入USB存储设备13的根目录,并写入一个可扩展标记语言(Extensible Markup Language,XML)文件例如nova_npk_update.xml文件且在xml文件中填写相应的要升级的软件列表。当将USB存储设备13插入基于Android操作系统的嵌入式设备11时,则会自动触发升级。在升级的过程中,初次插上USB存储设备13,基于Android操作系统的嵌入式设备11上的LED指示灯例如会闪两下,等到进入系统升级状态时,LED指示灯例如会快闪,每秒闪两次,待软件运行时LED指示灯恢复。本本实施例中,基于Android操作系统的嵌入式设备11可以是LED显示屏异步控制卡系统,像异步多媒体播放盒等,但本发明并不以此为限。

2)当基于Android操作系统的嵌入式设备11连接到云服务器15时,其会定期检查云服务器15上的系统升级包版本,并与本地的系统版本进行对比;若有新的可用升级包版本,则下载云服务器15上的新版本升级包,待管理端17(安装有管理软件)连接上基于Android操作系统的嵌入式设备11时,则通知提示用户是否需要升级,待确认升级后方可升级。其中,基于Android操作系统的嵌入式设备11与云服务器15例如通过Http协议连接,与管理端17例如通过TCP/IP或Http协议连接,管理端17可以是一个监视的计算机或手机终端,嵌入式设备11上的LED指示灯的状态显示与通过USB存储设备13进行系统升级类似。

3)此外,也可利用管理端17直接发送系统升级包文件并发送升级命令进行系统升级,嵌入式设备11上的LED指示灯的状态显示与通过USB存储设备13进行系统升级类似。

请参见图2,其为本发明实施例提出的一种系统升级包文件的结构示意图。如图2所示,本实施例将系统升级包文件分为两大部分,其中一部分为配置文件,大小例如是1024字节(Bytes),另一部分为系统升级文件例如压缩文件update.zip。更具体地,配置文件例如包括:系统升级文件名称(例如update.zip)、硬件信息、内核信息、设备信息(例如包含产品名称、平台名称和系统版本名称)、传输校验码多项式、系统版本代码(例如同一个产品型号和平台型号每出一个系统版本加1)、配置文件后的总数据长度、系统升级文件(例如update.zip)的有效数据长度、保留字段等信息。

请参见图3,其为本发明实施例提出的一种基于Android操作系统的系统升级的流程示意图。如图3所示,当前Android操作系统检测到系统升级包文件后,首先解析系统升级包文件中的配置文件(例如前1024字节)以得到系统升级包文件对应的系统版本,并与当前的Android系统版本进行比较,判断是否满足升级条件;如果不满足,则退出升级仍保持原有的系统版本;如果满足,则首先对系统升级包文件中的系统升级文件例如update.zip进行签名认证(或称首次签名认证)以确认update.zip文件的完整性,若首次签名认证不成功,则退出升级并保持原有的系统版本,若签名认证成功,则将系统升级文件update.zip拷贝到系统Cache目录下(例如系统分区/updatecache下),并对拷贝到Cache目录下的系统升级文件update.zip再次进行签名认证(或称二次签名认证)以确认拷贝后的update.zip文件的完整性,以及在二次签名认证成功后系统进入Recovery模式(恢复模式)进行系统升级。系统升级完成之后将系统升级文件update.zip删除,并且基于Android操作系统的嵌入式设备11重新启动。这样一来,由于本实施例的系统升级方法会自动检测配置文件是否满足升级条件,用户不需要关心系统的内部信息,因此升级简单;而且,由于对系统升级包文件中的系统升级文件例如update.zip在拷贝至Cache目录前后分别进行一次签名认证,也即进行两次签名认证,其可以减小系统升级失败后原有文件信息丢失的风险。值得说明的是,前述首次签名认证和二次签名认证例如均采用CRC(Cyclic Redundancy Check,循环冗余校验码)校验(即和校验),其具体可为除了包头之外的所有数据按字节累加再加上常数0x5555。

再者,在离线情况下可以采用USB存储设备例如U盘进行升级,且在进行图3所示的升级过程之前需要将升级用的系统升级包文件拷贝到U盘指定目录例如根目录下,然后将U盘插入到基于Android操作系统的嵌入式设备11的USB口。嵌入式设备11上的软件会自动监听U盘的插入事件,当U盘插入后,软件会自动检测U盘里面的文件,如果检测到系统升级包文件,则执行如图3所示的流程以进行系统升级。

此外,基于Android操作系统的嵌入式设备11在利用USB存储设备例如U盘进行升级时,如果插入有多个U盘,其会在每次开机时检测U盘是否存在,如果存在,则读取U盘里面的文件并进行校验(包括校验系统版本和设备信息、签名认证)如果满足条件则进行系统升级,这样可以避免造成先插U盘再开机无法检测U盘的情况。简而言之,本实施例的系统升级方法可以实现离线升级,支持多U盘升级,并能够在上电时自动检测U盘,不用再次插拔U盘。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1