CN103530142A - 一种基于存储设备的Android系统升级方法和系统 - Google Patents

一种基于存储设备的Android系统升级方法和系统 Download PDF

Info

Publication number
CN103530142A
CN103530142A CN201310166435.9A CN201310166435A CN103530142A CN 103530142 A CN103530142 A CN 103530142A CN 201310166435 A CN201310166435 A CN 201310166435A CN 103530142 A CN103530142 A CN 103530142A
Authority
CN
China
Prior art keywords
memory device
android
carry
upgrade
unique identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310166435.9A
Other languages
English (en)
Inventor
崔小康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN201310166435.9A priority Critical patent/CN103530142A/zh
Publication of CN103530142A publication Critical patent/CN103530142A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于存储设备的Android系统升级方法和系统,其中所述方法包括:首先在Android系统的块设备标识库获取升级文件所在的存储设备的唯一识别码,然后进入recovery系统后,在Android系统的块设备标识库中找到所述唯一识别码对应,并将所述唯一识别码的存储设备挂载到recovery系统中,最后从挂载后的存储设备中获取升级文件,完成Android系统升级。其确保了有升级文件的存储设备在recovery系统与Android系统中唯一对应,从而当有多个存储设备同时存在时,不会因为挂载顺序不确定而导致无法找到有升级文件的存储设备,令Android升级失败。

Description

一种基于存储设备的Android系统升级方法和系统
技术领域
本发明涉及Android系统升级技术领域,尤其涉及一种基于存储设备的Android系统升级方法和系统。 
背景技术
在Android系统研究领域,通常将机器正常启动时的系统称为Android系统,同时将机器进行系统升级(即对Android系统进行升级)时所使用的系统称为recovery系统。Android 系统一般通过recovery系统完成系统的恢复和升级,其中包括恢复出厂设置、OTA升级、补丁升级和固件升级。
现有技术中,对Android系统进行升级需先配置升级文件所在的存储设备的挂载路径,以usb存储设备为例,需在recovery系统的recovery.fstab文件中配置usb存储设备的挂载路径,如/udisk(udisk指usb存储设备盘符);当Android系统需要升级时,扫描本地挂载的存储设备,查找其中的升级文件,例如升级包,将升级包路径写入到/recovery/cmd中(无论扫描到哪个usb存储设备,它写入/recovery/cmd的路径都是/udisk/xxx.zip, 其中xxx.zip是升级包的名称,usb存储设备的名称将相应挂载到/udisk上),然后重启进入到recovery系统。recovery系统启动时,读取recovery.fstab中usb存储设备的挂载路径,根据该挂载路径将usb存储设备挂载至recovery系统上;usb存储设备挂载完成后,从前述挂载路径中读入该usb存储设备中的升级包,并完成升级。
但是在升级Android系统时, usb存储设备的名称是不确定的(通常由Android系统依据挂载入的顺序自动依次命名为sda,sdb,sdc……),而recovery.fstab中usb存储设备的名称默认为第一个挂载入的usb存储设备的名称(例如sda);这样,若本地挂载的usb存储设备不唯一,即除了存储有升级包的usb存储设备外还有其他usb存储设备;由于这些usb存储设备的挂载顺序不确定,从而各个usb存储设备的名称也不确定,这样便可能导致存储有升级包的usb存储设备的名称无法与前述recovery.fstab中挂载路径包含的usb存储设备的名称相对应,因而启动recovery系统后读取到的recovery.fstab中usb存储设备的挂载路径可能并非正确的挂载路径,当然亦不能从该挂载路径下的usb存储设备中读到所需的升级包,最终将导致升级失败。
有鉴于此,现有技术有待改进和提高。 
发明内容
鉴于现有技术的不足,本发明目的在于提供一种基于存储设备的Android系统升级方法和系统。旨在解决现有技术中Android系统升级时,除了挂载存储有升级文件的存储设备外,还同时挂载有其他存储设备,由于各个存储设备的挂载顺序不确定而导致升级失败的问题。
本发明的技术方案如下:
一种基于存储设备的Android系统升级方法,其中,所述升级方法依次包括以下步骤:
A、在Android系统中,扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
B、根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
C、重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码; 
D、将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
E、从挂载后的存储设备中获取升级文件,完成Android系统升级。
优选地,所述的基于存储设备的Android系统升级方法,其中,所述步骤A中还包括从Andriod系统的块设备标识库中获取所述存储设备的设备文件系统类型。
优选地,所述的基于存储设备的Android系统升级方法,其中,在所述步骤C中还包括:在recovery系统的块设备标识库中,根据设备文件系统类型确定存储设备的挂载形式。
优选地,所述的基于存储设备的Android系统升级方法,其中,所述存储设备为USB存储设备。
一种基于存储设备的Android系统升级系统,其中,所述升级系统包括:
扫描模块,用于在Android系统中扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
路径建立模块,用于根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
对应模块,用于重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码;
挂载模块,用于将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
升级模块,用于从挂载后的存储设备中获取升级文件,完成Android系统升级。
优选地,所述的基于存储设备的Android系统升级系统,其中,所述扫描模块还包括从Andriod系统的块设备标识库中获取所述存储设备的设备文件系统类型。
优选地,所述的基于存储设备的Android系统升级系统,其中,所述对应模块还包括用于在recovery系统中,根据设备文件系统类型确定存储设备的挂载形式。
优选地,所述的基于存储设备的Android系统升级系统,其中,所述存储设备为USB存储设备。
有益效果:
本发明的基于存储设备的Android系统升级方法和系统,其中所述方法包括:首先在Android系统的块设备标识库获取升级文件所在的存储设备的唯一识别码,然后进入recovery系统后,在Android系统的块设备标识库中找到所述唯一识别码对应,并将所述唯一识别码的存储设备挂载到recovery系统中,最后从挂载后的存储设备中获取升级文件,完成Android系统升级。其确保了有升级文件的存储设备在recovery系统与Android系统中唯一对应,从而当有多个存储设备同时存在时,不会因为挂载顺序不确定而导致无法找到有升级文件的存储设备,令Android升级失败。 
附图说明
图1为本发明的基于存储设备的Android系统升级方法的流程图。
图2为本发明的基于存储设备的Android系统升级系统的结构框图。 
具体实施方式
本发明提供一种基于存储设备的Android系统升级方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本发明的基于存储设备的Android系统升级方法的流程图。如图所示,所述升级方法依次包括以下步骤:
S1、在Android系统中,扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
S2、根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
S3、重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码; 
S4、将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
S5、从挂载后的存储设备中获取升级文件,完成Android系统升级。
下面分别针对上述步骤进行详细描述:
所述步骤S1为在Android系统中,扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码。具体来说,在Android系统下,扫描本地挂载的所有存储设备(如存储设备1、存储设备2和存储设备3),通过Android系统的libblkid库(block device id library,块设备标识库)获取存储设备1、存储设备2和存储设备3的唯一识别码uuid。其中,所述唯一识别码uuid是指在一台机器上生成的数字,它保证对在同一时空中的所有机器的标识都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,唯一识别码uuid用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。即所述唯一识别码uuid与存储设备唯一对应的,而无论所述存储设备插在哪个端口,其读取到的唯一识别码uuid都是唯一的。确保了当多个存储设备插入后挂载顺序不确定时,存储设备在Android系统和recovery系统都是唯一确定的。应当理解地是,所述Android系统的块设备标识库为一开源的数据库,其在本方案中应用之前,只需要进行简单编译入Android系统即可。下述的recovery系统的块设备标识库也同样适用。
所述步骤S2为根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中。具体来说,在前述存储设备(即有升级文件的存储设备)中查找用于Android系统升级的升级文件,即获取升级包的存储路径,通过android系统的块设备标识库生成升级包的路径(即挂载路径)如/mnt/usb/uuid/update.zip(在本实施例中,所述存储设备为usb存储设备) ,然后将升级包的路径写入recovery系统如/cache/recovery/cmd。
所述步骤S3为重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码。具体来说,当系统重启,进入recovery系统后,此时在所述recovery系统的块设备标识库中查找唯一识别码(如可以用采用对比的方式,即比对recovery系统的libblkid中的uuid依次和/cache/recovery/cmd中的uuid进行比较),直至找到前述的唯一识别码,即确定真正对应的那个存储设备的uuid。
所述步骤S4为将所述唯一识别码对应的存储设备在recovery系统中进行挂载,在本实施例中,生成/mnt/usb/uuid的挂载路径,将对应的存储设备的挂载到该挂载路径中(原来的存储设备挂载在android系统中,这里需要挂载至recovery系统中)。
所述步骤S5为从挂载后的所述存储设备中获取升级文件,完成Android系统升级。即从该挂载路径中的存储设备中获取升级包update.zip,完成系统的升级。利用升级包进行升级的方法可采用常规技术,就不多做赘述了。
进一步地,在本发明的基于存储设备的Android系统升级方法中,所述步骤S1中还可以包括获取所述存储设备的设备文件系统类型(如fat、ntfs、ext2、ext3或ext4等文件系统类型)。即通过Android系统的块设备标识库获取所述存储设备的设备文件系统类型。
更进一步地,在recovery系统中,根据设备文件系统类型确定存储设备的挂载形式。在本实施例中,在recovery系统下,通过libblkid获取usb存储设备的文件系统类型,根据设备文件系统类型确定usb存储设备的挂载形式。由于在不同的设备文件系统类型下,数据的组织形式或结构可能不一样,本实施例中可根据获取的设备文件系统类型确定挂载形式,弥补目前只支持fat和ext4文件系统的缺陷,从而增加多文件系统的支持。
本发明还提供了一种基于存储设备的Android系统升级系统,如图2所示,所述升级系统包括:
扫描模块100,用于在Android系统中扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
路径建立模块200,用于根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
对应模块300,用于重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码;
挂载模块400,用于将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
升级模块500,用于从挂载后的存储设备中获取升级文件,完成Android系统升级。
进一步地,所述扫描模块还包括获取所述存储设备的设备文件系统类型。另外,所述对应模块还包括用于在recovery系统中,根据设备文件系统类型确定存储设备的挂载形式。
因为上述模块的具体实施细节都在基于存储设备的Android系统升级方法中进行了详细描述,这里就不再赘述了。
综上所述,本发明的基于存储设备的Android系统升级方法和系统,其中所述方法包括:首先在Android系统的块设备标识库获取升级文件所在的存储设备的唯一识别码,然后进入recovery系统后,在Android系统的块设备标识库中找到所述唯一识别码对应,并将所述唯一识别码的存储设备挂载到recovery系统中,最后从挂载后的存储设备中获取升级文件,完成Android系统升级。其确保了有升级文件的存储设备在recovery系统与Android系统中唯一对应,从而当有多个存储设备同时存在时,不会因为挂载顺序不确定而导致无法找到有升级文件的存储设备,令Android升级失败。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。 

Claims (8)

1.  一种基于存储设备的Android系统升级方法,其特征在于,所述升级方法依次包括以下步骤:
A、在Android系统中,扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
B、根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
C、重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码; 
D、将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
E、从挂载后的存储设备中获取升级文件,完成Android系统升级。
2.根据权利要求1所述的基于存储设备的Android系统升级方法,其特征在于,所述步骤A中还包括从Andriod系统的块设备标识库中获取所述存储设备的设备文件系统类型。
3.根据权利要求2所述的基于存储设备的Android系统升级方法,其特征在于,在所述步骤C中还包括:在recovery系统的块设备标识库中,根据设备文件系统类型确定存储设备的挂载形式。
4.根据权利要求1所述的基于存储设备的Android系统升级方法,其特征在于,所述存储设备为USB存储设备。
5.一种基于存储设备的Android系统升级系统,其特征在于,所述升级系统包括:
扫描模块,用于在Android系统中扫描本地挂载的所有存储设备,从Andriod系统的块设备标识库中获取有升级文件的存储设备的唯一识别码;
路径建立模块,用于根据前述存储设备的唯一识别码生成升级文件的挂载路径,然后将所述挂载路径写入recovery系统中;
对应模块,用于重启进入recovery系统后,在recovery系统的块设备标识库中找到所述唯一识别码;
挂载模块,用于将所述唯一识别码对应的存储设备在recovery系统中进行挂载;
升级模块,用于从挂载后的存储设备中获取升级文件,完成Android系统升级。
6.根据权利要求5所述的基于存储设备的Android系统升级系统,其特征在于,所述扫描模块还包括从Andriod系统的块设备标识库中获取所述存储设备的设备文件系统类型。
7.根据权利要求6所述的基于存储设备的Android系统升级系统,其特征在于,所述对应模块还包括用于在recovery系统中,根据设备文件系统类型确定存储设备的挂载形式。
8.根据权利要求5所述的基于存储设备的Android系统升级系统,其特征在于,所述存储设备为USB存储设备。
CN201310166435.9A 2013-05-08 2013-05-08 一种基于存储设备的Android系统升级方法和系统 Pending CN103530142A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310166435.9A CN103530142A (zh) 2013-05-08 2013-05-08 一种基于存储设备的Android系统升级方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310166435.9A CN103530142A (zh) 2013-05-08 2013-05-08 一种基于存储设备的Android系统升级方法和系统

Publications (1)

Publication Number Publication Date
CN103530142A true CN103530142A (zh) 2014-01-22

Family

ID=49932182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310166435.9A Pending CN103530142A (zh) 2013-05-08 2013-05-08 一种基于存储设备的Android系统升级方法和系统

Country Status (1)

Country Link
CN (1) CN103530142A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131488A1 (zh) * 2014-06-18 2015-09-11 中兴通讯股份有限公司 终端固件升级方法、装置及计算机存储介质
CN105045612A (zh) * 2015-06-26 2015-11-11 Tcl集团股份有限公司 一种Android终端的外设升级恢复方法及系统
CN105912369A (zh) * 2016-04-26 2016-08-31 青岛海信移动通信技术股份有限公司 一种系统升级方法和装置
CN106789280A (zh) * 2016-12-27 2017-05-31 Tcl集团股份有限公司 一种基于Android系统的升级保护方法及系统、移动终端
CN114443083A (zh) * 2021-07-09 2022-05-06 荣耀终端有限公司 系统升级方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650947A (zh) * 2012-04-01 2012-08-29 广东欧珀移动通信有限公司 一种Android手持设备连续增量的空中升级方法
CN102682088A (zh) * 2012-04-23 2012-09-19 Tcl集团股份有限公司 一种存储设备的挂载方法、系统及电视
US20120264411A1 (en) * 2011-04-13 2012-10-18 Dsp Group Ltd. Method and apparatus for adapting a telephony component to operate in a different telephony
CN102802083A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 一种基于Android系统的机顶盒升级方法及其机顶盒

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120264411A1 (en) * 2011-04-13 2012-10-18 Dsp Group Ltd. Method and apparatus for adapting a telephony component to operate in a different telephony
CN102650947A (zh) * 2012-04-01 2012-08-29 广东欧珀移动通信有限公司 一种Android手持设备连续增量的空中升级方法
CN102682088A (zh) * 2012-04-23 2012-09-19 Tcl集团股份有限公司 一种存储设备的挂载方法、系统及电视
CN102802083A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 一种基于Android系统的机顶盒升级方法及其机顶盒

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131488A1 (zh) * 2014-06-18 2015-09-11 中兴通讯股份有限公司 终端固件升级方法、装置及计算机存储介质
CN105045612A (zh) * 2015-06-26 2015-11-11 Tcl集团股份有限公司 一种Android终端的外设升级恢复方法及系统
CN105045612B (zh) * 2015-06-26 2020-05-26 Tcl科技集团股份有限公司 一种Android终端的外设升级恢复方法及系统
CN105912369A (zh) * 2016-04-26 2016-08-31 青岛海信移动通信技术股份有限公司 一种系统升级方法和装置
CN106789280A (zh) * 2016-12-27 2017-05-31 Tcl集团股份有限公司 一种基于Android系统的升级保护方法及系统、移动终端
CN114443083A (zh) * 2021-07-09 2022-05-06 荣耀终端有限公司 系统升级方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN103544031A (zh) 多分区外存储设备的Android系统升级方法和系统
US8423991B2 (en) Embedded network device and firmware upgrading method
CN103530142A (zh) 一种基于存储设备的Android系统升级方法和系统
CN105183497A (zh) 一种通用服务器自动批量刷新bios的方法
CN103699421A (zh) 嵌入式设备系统升级方法及其装置
CN111142911B (zh) 具有异常恢复功能的嵌入式系统及其升级方法
CN107977223B (zh) 一种配置兼容性检查方法及装置
CN104317618A (zh) 一种固件分区处理方法和装置
CN104317694A (zh) 一种整机测试方法及装置
CN101494930A (zh) 一种智能终端升级方法和智能终端
CN110928559A (zh) 一种数据烧录方法、装置、电子设备及存储介质
CN103365676B (zh) 通信设备的软件升级方法及装置
CN102799497A (zh) Nvram数据恢复系统及方法
CN109766140A (zh) 一种机顶盒启动异常的定位方法及装置
US10146433B2 (en) Method for initializing NAND flash serving as a booting device
CN111104151A (zh) 一种基于Shell脚本的Git代码简化的管理方法
CN104536841A (zh) 一种Android系统Data分区自修复方法及系统
US9588884B2 (en) Systems and methods for in-place reorganization of device storage
CN102572591B (zh) 一种高级安全数字电视机顶盒生产方法及装置
CN107168750A (zh) 一种固件升级保护方法及系统
CN108170456B (zh) 电子设备的固件升级方法及装置
CN111858119A (zh) 一种bios故障修复方法及相关装置
CN108595292B (zh) 一种系统的优化方法、移动终端及计算机存储介质
CN116755735A (zh) 嵌入式软件在线升级方法、装置、腹膜透析仪、存储介质
CN114020211B (zh) 存储空间管理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140122

RJ01 Rejection of invention patent application after publication