一种基于定制Android系统的升级方法与流程

文档序号:12462977阅读:598来源:国知局
一种基于定制Android系统的升级方法与流程

本发明涉及Android技术领域,尤其涉及一种基于定制Android系统的升级方法。



背景技术:

Android系统经过Google及开放手持设备联盟多年的开发,早已形成一整套成熟稳定的升级流程。现有Android系统标准升级策略有两种升级方式:完整包升级和差分包升级。

完整包升级基本可以对于同一系列的所有产品进行升级,但每一个完整包都很大,大小为300MB或500MB都很正常。如果每一次升级都使用完整包,不仅会因为升级时间长而造成糟糕的用户体验,也会对OTA升级服务器造成巨大的压力,从而增加OTA服务器的投入成本。

差分包升级只是对系统中变化的部分进行增量升级,在同种条件下对比完整升级包,体量上是显得非常小了,但其缺点是只能一对一进行升级,一个升级包只能对与其对应Android系统的某一个版本进行升级,这导致了多产品线Android设备的升级管理流程变得相当复杂,必须为每一款不同软硬件Android系统维持一条系统升级管理线,而这会随着Android系统版本的更新指数式增加升级管理难度。



技术实现要素:

基于此,本发明提供了一种基于定制Android系统的升级方法,优化了基于同一Android系统源码多分支固件的升级管理策略,很大程度上减轻了升级管理难度。

本发明解决其技术问题所采用的技术方案是:在基于同一系统源码的定制Android系统上(以下所指定制系统都是指基于同一系统源码的定制Android系统)增设两个独立分区:boardInfo分区和custom分区,将boardInfo分区和custom分区以外的分区(boot、system等)统称为Android系统原有分区;将Android系统原有分区中基于客户定制的所有硬件配置方面差异化内容转移到boardInfo分区,所有软件方面差异化内容转移到custom分区,使得Android系统原有分区在所有不同软硬件配置的或不同客户的定制系统系统中保持内容一致,boardInfo分区存放硬件配置信息,custom分区存放系统配置信息及客户定制信息;整个定制系统升级分为:custom分区升级和Android系统原有分区升级,两者互相独立,boardInfo分区内容始终不变,无需升级;custom分区,不同配置的定制系统使用不同的升级包,在客户定制需求改变或者客户预装软件有升级需求时可升级,升级包不需基于Android系统源码,可由客户自行制作与管理,使用替换系统文件的方式升级;Android系统原有分区,内容为Android系统核心内容,所有不同软硬件配置的或不同客户的定制系统,共用同一升级包,使用Android标准系统升级方式升级。

本发明的有益效果是:优化了基于同一Android系统源码多分支固件的升级管理策略,通过在基于同一系统源码的Android系统上增加独立分区存放差异化内容,使核心内容(Android系统原有分区)在不同软硬件配置的或者不同客户的定制系统中保持内容一致,在此基础上实现差异化内容和核心内容互相独立升级,并且核心内容升级在不同配置的定制系统中共用一个升级包,这很大程度上减轻了升级管理难度,而且差异化内容升级包还可由客户自行制作与管理,这也极大地方便了客户。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1为本发明中定制Android系统的分区划分示意图。

图2为本发明中定制Android系统的启动流程。

图3为本发明中定制Android系统的OTA升级流程。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚完整,下面将结合本发明实施例及附图,对本发明实施例中的技术方案进一步详细地说明。很显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明的实施例,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,或者在没有做出创造性劳动前提下所获得的其他实施例,都属于本发明的保护范围。

本发明实施例提供一种基于定制Android系统的升级方法,包括:

在基于同一系统源码的定制Android系统中增设两个独立的分区:boardInfo分区和custom分区,所以定制Android系统现可分为三大分区(参见图1):Android系统原有分区(boardInfo分区和custom分区以外的分区(boot、system等))、boardInfo分区、custom分区。boardInfo分区无需升级;custom分区,不同配置的定制系统使用不同升级包,使用替换系统文件的方式升级;Android系统原有分区,所有不同配置的定制定制系统共用同一个升级包,使用Android标准系统升级方式升级(参见图2)。

上述升级方法中,Android系统原有分区,需将基于客户定制的所有硬件配置方面差异化内容转移到boardInfo分区,所有软件方面差异化内容转移到custom分区,使其内容在不同软硬件配置的或不同客户定制的系统中保持一致,因此在不同配置的定制系统中可共用同一升级包进行升级,升级包制作需基于Android源码进行,此升级包为主升级包。

上述升级方法中,boardInfo分区,用于存放不同机型的硬件配置信息,其内容在rom第一次烧写完成后不再改变,无需升级。

上述升级方法中,custom分区,其内容为系统配置信息和客户定制信息,可升级,不同配置的定制系统在该部分使用不同的升级包,在客户需求改变或者客户预装软件有升级需求时升级,升级包不需基于Android系统源码,可由客户自行制作与管理,使用替换系统文件的方式升级,此升级包为副升级包。

上述升级方法中,custom分区升级和Android系统原有分区升级,都是各自独立的,两者之间无依赖关系,也不依赖于boardInfo分区。

基于上述升级方法,更详细的流程说明如下(如图2):

(1)开始OTA升级;

(2)检查OTA服务器上是否存在主升级包,若有则继续下一步,若无则跳到第6步;

(3)下载主升级包;

(4)使用Android系统的标准升级方式升级主升级包;

(5)升级完成重启机器;

(6)检查OTA服务器上是否存在副升级包,若有则继续下一步,若无则跳到第10步;

(7)下载副升级包;

(8)使用替换系统文件的方式升级副升级包;

(9)升级完成重启机器;

(10)当前版本为系统最新版本,退出OTA升级。

本发明实施例中,Android增加了两个分区,系统启动较普通Android系统稍有不同,现说明启动流程(如图3),步骤如下:

(1)系统启动;

(2)Bootloader启动;

(3)读取boardInfo分区信息并加载相应硬件驱动;

(4)把boardinfo信息解析并存放到cmdline;

(5)Kernel启动;

(6)解析cmdline数据得到硬件配置信息并加载相应硬件驱动;

(7)Android系统框架启动;

(8)读取custom分区信息加载系统配置信息和客户定制信息;

(9)加载相应的系统配置、配置客户定制需求和启动客户所需应用。

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