CN114237675A - 一种Android系统升级方法、装置、机顶盒及存储介质 - Google Patents

一种Android系统升级方法、装置、机顶盒及存储介质 Download PDF

Info

Publication number
CN114237675A
CN114237675A CN202111527216.XA CN202111527216A CN114237675A CN 114237675 A CN114237675 A CN 114237675A CN 202111527216 A CN202111527216 A CN 202111527216A CN 114237675 A CN114237675 A CN 114237675A
Authority
CN
China
Prior art keywords
external storage
android
partition
upgrading
android system
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
CN202111527216.XA
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.)
Shenzhen Skyworth Digital Technology Co Ltd
Original Assignee
Shenzhen Skyworth Digital Technology Co Ltd
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 Shenzhen Skyworth Digital Technology Co Ltd filed Critical Shenzhen Skyworth Digital Technology Co Ltd
Priority to CN202111527216.XA priority Critical patent/CN114237675A/zh
Publication of CN114237675A publication Critical patent/CN114237675A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种Android系统升级方法、装置、机顶盒及存储介质,所述方法包括:接收Android系统的升级提醒;检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求通过在外部接入的存储设备中的升级包升级Android系统可以保证系统升级过程中的稳定性,由此通过外搭存储设备升级Android系统可以避免由断电引起设备无法启动变砖。

Description

一种Android系统升级方法、装置、机顶盒及存储介质
技术领域
本发明涉及Android系统升级领域,尤其涉及一种Android系统升级方法、装置、机顶盒及存储介质。
背景技术
随着Android TV系统的不断优化,Android TV系统越来越复杂,相关功能要求也越来越复杂,对系统的分区要求也更高,但是目前Android TV数字终端设备出厂时Flash大小及各个分区大小就已经固定了,通常设备制造商从成本的考虑会尽量压缩系统分区来获得更大的用户分区,但是随着Android系统的迭代和客户业务的增多,系统分区没有足够的空间支持需要实现变分区升级。目前,Android系统升级主要有两种方式:一是:AB流式升级方式无法实现变分区升级,其只是将对应的升级流写入到备份分区,无法改变分区的大小;二是:单分区Recovery升级方式可以实现变分区升级,但是需要修改分区表,对分区做格式化后将升级包的内容存储到新分区中,在升级过程中断电会导致盒子系统卡顿进而导致盒子无法启动,俗称的盒子变砖。并且烧写方式需要特殊工具,并且一般需要使用PC通过JTAG等接口对flash做整体烧写,不适合普通用户使用。由此目前亟待一种稳定且可在Android系统升级中改变分区表,并且在断电的情况下也不会导致设备无法启动的Android系统升级方法。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种Android系统升级方法、装置、机顶盒及存储介质,旨在解决目前的Android系统升级方式不够稳定,并在升级过程中遇到断电会引起设备无法启动导致盒子变砖的技术问题。
为实现上述目的,本发明提供一种Android系统升级方法,包括:
接收Android系统的升级提醒;
检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
优选地,所述接收Android系统的升级提醒的步骤包括:
检测Android升级包的版本是否高于现有系统版本;
若所述Android升级包的版本高于现有版本,则下载所述Android升级包的配置文件。
优选地,所述检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备的步骤包括:
将所述Android升级包的配置文件保存至cache分区并解析;
检测所述配置文件中是否存在改变分区配置的指示;
若存在改变分区配置的指示,则检测是否存在外接存储设备。
优选地,所述若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求的步骤包括:
若存在外接存储设备,则运行启动盘制作程序以使得将所述外接存储设备作为所述Android系统启动盘;
将配置文件传送到cache分区以重新设置启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
优选地,所述将配置文件传送到cache分区以重新设置启动参数的步骤包括:
按照所述启动参数重启并运行所述外部存储设备中的Android系统。
优选地,所述方法还包括:
解析所述Android升级包的配置文件,并下载分区表;
根据分区表对flash进行重新分区。
优选地,所述方法还包括:
检测所述外部存储设备中是否存在改变分区配置的指示;
若在所述外部存储设备中不存在分区标志,则根据正常Recovery流程完成系统升级;
检测是否存在外接存储设备;
若不存在外部存储设备,则根据正常Recovery流程完成系统升级。
此外,为实现上述目的,本发明还提供了一种Android系统升级装置,包括:
接收模块,用于接收Android系统的升级提醒;
判断模块,用于检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
配置模块,用于若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
此外,为实现上述目的,本发明还提供了一种Android TV机顶盒,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器上存储有可被至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的方法的步骤。
此外,为实现上述目的,本发明还提供了一种计算机存储介质,所述计算机可读存储介质上存储有Android系统升级程序,所述Android系统升级程序被处理器执行时实现如上述任一项所述的提示方法的步骤。
本发明提出了一种Android系统升级方法,包括:接收Android系统的升级提醒;检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求通过在外部接入的存储设备中的升级包升级Android系统可以保证系统升级过程中的稳定性,由此通过外搭存储设备升级Android系统可以避免由断电引起设备无法启动变砖。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明一种Android系统升级方法一实施例的流程示意图;
图3为图2中步骤S10的细化流程示意图;
图4为图2中步骤S20的流程示意图;
图5为图2中步骤S30的流程示意图;
图6为本发明其中一个实施例所提供的一种Android升级装置的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:接收Android系统的升级提醒;检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
由于现有技术中的Android系统升级模式,不能同时保证变分区升级和升级过程中Android系统的稳定性,也不能避免由断电造成Android系统设备无法系统盒子变砖的问题。
本发明提供一种解决方案,使使通过外接存储设备的方法对设备的Android系统进行升级,并通过在外部设备中重新配置分区表,以此实现设备在进行系统升级过程中完成重新分区的要求,并且通过外搭存储设备升级Android系统可以避免由于断电造成升级设备无法启动,盒子变砖的问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及Android系统升级应用程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的Android系统升级应用程序,并执行以下操作:
接收Android系统的升级提醒;
检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述接收Android系统的升级提醒的步骤包括:
检测Android升级包的版本是否高于现有系统版本;
若所述Android升级包的版本高于现有版本,则下载所述Android升级包的配置文件。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备的步骤包括:
将所述Android升级包的配置文件保存至cache分区并解析;
检测所述配置文件中是否存在改变分区配置的指示;
若存在改变分区配置的指示,则检测是否存在外接存储设备。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求的步骤包括:
若存在外接存储设备,则运行启动盘制作程序以使得将所述外接存储设备作为所述Android系统启动盘;
将配置文件传送到cache分区以重新设置启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述将配置文件传送到cache分区以重新设置启动参数的步骤包括:
按照所述启动参数重启并运行所述外部存储设备中的Android系统。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述方法还包括:
解析所述Android升级包的配置文件,并下载分区表;
根据分区表对flash进行重新分区。
进一步地,处理器1001可以调用存储器1005中存储的Android系统升级应用程序,还执行以下操作:
所述方法还包括:
检测所述外部存储设备中是否存在改变分区配置的指示;
若在所述外部存储设备中不存在分区标志,则根据正常Recovery流程完成系统升级;
检测是否存在外接存储设备;
若不存在外部存储设备,则根据正常Recovery流程完成系统升级。
参照图2,本发明一种Android系统升级方法其中一个实施例中,所述方法包括:
步骤S10,接收Android系统的升级提醒;
步骤S20,检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
步骤S30,若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
具体而言,目前,待升级的设备以搭载Android TV系统的机顶盒为例,在基于Android TV系统的智能机顶盒中,通常将机顶盒正常启动使用时的系统称为Android TV系统,将机顶盒运行系统升级时所使用的系统称为Recovery系统,也就是说基于Android TV系统的机电盒一般是通过Recovery系统完成系统的升级。但是由于Android TV系统设备出厂时Flash大小及各个分区大小就已经固定了,通常设备制造商从成本的考虑会尽量压缩系统分区来获得更大的用户分区,但是随着Android系统的迭代和客户业务的增多,系统分区没有足够的空间支持需要实现变分区升级。由此,在本实施例中,当Android TV系统的机顶盒接收到需要升级的提醒时,检验Android平台下发的升级包的升级格式,当升级包的格式为烧写模式的包,系统返回检测是否该Android TV系统的机顶盒是否有插入外接的存储设备,在本实施例中,外接的存储设备可以是SD卡、U盘或者外置硬盘等可以存储系统升级包的存储介质,对此本发明不作任何限制,当系统检测到机顶盒有外接的存储设备时,则修改该机顶盒的启动参数,使得机顶盒下次启动直接从外部存储设备重新启动并完成对Android系统升级的要求。
在本实施例中,本发明通过接收Android系统的升级提醒;接收Android系统的升级提醒;检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。以此,通过在外部接入的存储设备中的升级包升级Android系统可以保证系统升级过程中的稳定性,并且可以在外搭的存储设备中配置Android系统的分区表,从而重新配置系统的分区,并且通过外搭存储设备升级Android系统可以避免由断电引起设备无法启动变砖的方法。
进一步地,请参照图3,基于上述实施例,本发明一种Android系统升级方法所提供的其中一个实施例中,所述步骤S10还包括:
步骤S101,检测Android升级包的版本是否高于现有系统版本;
步骤S102,若所述Android升级包的版本高于现有版本,则下载所述Android升级包的配置文件。
具体而言,在本实施例中,当机顶盒接收到系统发送的Android系统升级提醒时,检验得到升级包的格式为普通升级模式,则将当前系统的参数信息(本机的厂商,型号,系统版本号)发送给服务器,服务器接收所述系统参数信息发送的版本数据,根据所述服务器发送的版本数据,获取最新版服务器,机顶盒客户端从服务器下载所述更新版本对应的系统升级文件。所述更新版本对应的系统升级文件为更新版本对应的完整的系统升级文件或更新版本对应的系统升级文件与当前系统版本文件的差分文件。也就是说,如果当前机顶盒的版本为1.0,不需要花费大量的流量及存储空间去下载2.0的完整版升级包,在服务器上已经上传了1.0到2.0的差分,客户端可以自主地区检测更新差分文件。如果厂商对系统改动较大时,不想用户通过差分升级,服务器端也可以将该版本设置为大版本,这样客户端从大版本以前升级到大版本是完整版本升级。并根据系统下发的升级指令调用系统升级接口,根据获取得到的新系统的升级文件升级系统。具体地,可以根据所述升级指令调用系统升级接口RecoverySytem.installPackge,进入升级模式(如recovery模式),清空缓存分区(cache分区)和系统分区(data分区),将所述获取到的系统升级文件写入所述清空后的系统分区(data分区)。
进一步地,请参照图4,基于上述实施例,在本发明一种Android系统升级方法所提供的其中一个实施例中,所述步骤S20还包括:
步骤S201,将所述Android升级包的配置文件保存至cache分区并解析;
步骤S202,检测所述配置文件中是否存在改变分区配置的指示;
步骤S203,若存在改变分区配置的指示,则检测是否存在外接存储设备。
具体而言,在本实施例中,Android系统升级的本质是对系统中各分区下的文件进行升级,按照升级包的差异来分可以分为整包升级与差分升级。整包升级首先将分区格式化,然后将升级包中的文件拷贝进去。差分升级则只升级文件的差异部分。Android系统提供了标准的升级包制作方法,将系统编译后得到的分区文件压缩为payload.bin,并将payload.bin和配置文件、校验信息以压缩包的形式整合在一起,经过系统签名后就得到了升级包。运营人员拿到这个升级包后可以上传到OTA服务器,并指定给机顶盒进行升级。Android系统中的SystemUpdate模块负责和OTA服务器交互,通过网络端的加密认证后将机顶盒的系统版本与OTA服务器端部署的版本做比较,并根据升级包文件的配置文件调整升级策略,并进行升级包下载等功能。Android系统支持单分区升级模式,需要配置Recovery系统,SystemUpdate模块将升级包下载到cache分区,并写入命令到misc分区,重启后bootloader读取misc分区信息跳转到Recovery系统。在Recovery系统中实现Android系统的升级。升级成功后会擦除misc分区的信息,重启后进入到Android系统。高版本的Android系统支持流式升级模式,即在系统中有主备两套系统分区,同时只有一套分区进行挂载使用,而另一套分区没有使用,可以在挂载后进行升级,升级成功后重新启动到刚升级好的分区,就实现了系统升级功能。SystemUpdate模块判断升级包的类型支持AB,并且系统也支持AB升级的情况下,会把下载的镜像文件字节码交给update_engine进程,update_engine进行块校验后写入对应分区。升级成功后将slot信息写入到misc中。SystemUpdate保存配置文件到cache分区并解析,若有change_partition_table=yes字段,则查找机顶盒是否有外部存储。
进一步地,基于上述实施例,请参见图5,本发明一种Android系统升级方法所提供的其中一个实施例中,所述步骤S30还包括:
步骤S301,若存在外接存储设备,则运行启动盘制作程序以使得将所述外接存储设备作为所述Android系统启动盘;
步骤S302,将配置文件传送到cache分区以重新设置启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
步骤S3021,按照所述启动参数重启并运行所述外部存储设备中的Android系统。
具体而言,在本实施例中,制作升级包时,插入特殊标志位到配置文件中,变分区升级包的配置文件包含change_partition_table=yes,同时保存分区表文件到payload.bin中。SystemUpdate与服务器交互,若系统版本小于OTA服务器的升级包版本,则请求下载升级包配置文件。SystemUpdate保存配置文件到cache分区并解析,若有change_partition_table=yes字段,则查找机顶盒是否有外部存储。如果机顶盒有外部存储,运行启动盘制作程序,将外部存储制作为Android系统启动盘。并将配置文件传到cache分区,设置启动参数,重启后运行外部存储的Android系统。机顶盒重启后运行外部存储上的制作的Android系统,SystemUpdate模块解析配置文件中的信息,继续进行升级功能。SystemUpdate模块向OTA服务器请求下载分区表,并将分区表传给update_engine进程。update_engine进程拿到分区表后,调用磁盘管理程序,按照分区表对FLASH重新分区。分区时需要备份userdata分区中的用户数据,不影响用户使用。SystemUpdate读取配置文件中的标记ota-type,如果是AB,则将下载的数据包交给update_engine,update_engine解析和校验后调用磁盘管理程序写入flash的对应分区中。SystemUpdate读取配置文件中的标记ota-type,如果不是AB,则下载整个数据包到cache分区,由recovery系统调用磁盘管理程序完成升级操作。完成系统升级和校验后,重新设置启动参数并重启,重启后进入FLASH上更新的Android操作系统。删除外部存储上备份的Android操作系统。
进一步地,基于上述实施例,本发明一种Android系统升级方法所提供的其中一个实施例中,所述方法还包括:
步骤S40’,解析所述Android升级包的配置文件,并下载分区表;
步骤S50’,根据分区表对flash进行重新分区。
具体而言。其中,所述外部存储设备内存储有包括所述机顶盒的分区配置镜像。
具体而言,在本实施例中,所述外部存储设备包括:U盘(USB闪存盘,USB flashdisk)、SSD(固态硬盘,Solid State Drive)、eMMC(嵌入式多媒体存储卡,Embedded MultiMedia Card)、eMCP(嵌入式多芯片封装,embedded Multi Chip Package)、UFS(通用闪存存储,UniversalFlash Storage)、SD卡(安全数码存储卡,Secure Digital Memory Card)、NAND Flash芯片等设备,所述外部存储设备还可以包括至少一个缓冲存储器,所述缓冲存储器包括:静态随机存储存储器(StaticRandom Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、相位随机存取存储器(Phase Change RandomAccessMemory,PRAM)等设备。所述外部存储设备还可以包括至少一个非易失性存储器件,所述非易失性存储器件包括:NAND闪存、垂直NAND闪存(VNAND)、NOR闪存、电阻随机存取存储器(RRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等设备。将Android系统的升级包存储至外部存储设备,方便重新启动新的Recovery系统后实现系统升级的功能。
此外,由于在外部存储设备中重新配置了Android系统的分区表,在新配置的Android系统分区表中,可能部分分区的大小并不发生改变,只是在flash地址中的位置发生了变化,通过升级包的分区配置镜像的分区信息中的分区、名、对应分区表首地址及个分区的大小,烧写进机顶盒的flash地址中。
进一步地,基于上述实施例,本发明一种Android系统升级方法所提供的其中一个实施例中,所述方法还包括:
步骤S40,检测所述外部存储设备中是否存在改变分区配置的指示;
步骤S50,若在所述外部存储设备中不存在分区标志,则根据正常Recovery流程完成系统升级;
步骤S60,检测是否存在外接存储设备;
步骤S70,若不存在外部存储设备,则根据正常Recovery流程完成系统升级。
具体而言,则返回Android系统检测在机顶盒上是否接入外部存储设备,若没有,则在发出提示信息,该提示信息可以通过在对应的TV设备上输出对应的提示信息,或者通过机顶盒自身的指示灯提示用户接入保存有升级包的外部存储设备。并且本领域的技术人员可以根据应用场景的需要设置时长,当用户在提示信息发出超过预先设置的时间长度也没有接入外部存储设备时,则输出系统升级失败的提示信息,以提示用户系统更新失败。
此外,本发明所例举的Android设备包括以下模块:SystemUpdate,负责与OTA服务器交互,并按照升级流程从OTA服务器下载指定数据。Update_engine,具有root权限的进程,可以对flash进行分区,格式化,读写等操作,同时校验SystemUpdate下载的数据,并写入到分区对应的位置。启动盘制作模块:将系统中存储在FLASH中的android系统镜像到外部存储,并可以通过设置启动参数来实现启动FLASH中的android系统或者是外部存储中的Android系统。Recovery系统:通过misc分区与Android系统传递参数,接收到升级包,进行校验,解压,将对应的分区文件写入到FLASH对应分区中。磁盘管理程序:复杂对FLASH做分区,校验,读写等操作。本发明需要OTA服务器支持升级包配置文件下载,FLASH分区文件下载及payload.bin文件下载等功能。
此外,请参照图6,在本发明其中一个实施例中,还提供了一种Android系统升级装置200,包括:
接收模块210,用于接收Android系统的升级提醒;
判断模块220,用于检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
配置模块230,用于若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
此外,本发明还提出了一种Android TV机顶盒,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器上存储有可被至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求如上述任一实施例所述的方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有Android系统升级程序,所述Android系统升级程序被处理器执行时实现如下操作:
接收Android系统的升级提醒;
检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述接收Android系统的升级提醒的步骤包括:
检测Android升级包的版本是否高于现有系统版本;
若所述Android升级包的版本高于现有版本,则下载所述Android升级包的配置文件。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备的步骤包括:
将所述Android升级包的配置文件保存至cache分区并解析;
检测所述配置文件中是否存在改变分区配置的指示;
若存在改变分区配置的指示,则检测是否存在外接存储设备。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求的步骤包括:
若存在外接存储设备,则运行启动盘制作程序以使得将所述外接存储设备作为所述Android系统启动盘;
将配置文件传送到cache分区以重新设置启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述将配置文件传送到cache分区以重新设置启动参数的步骤包括:
按照所述启动参数重启并运行所述外部存储设备中的Android系统。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述方法还包括:
解析所述Android升级包的配置文件,并下载分区表;
根据分区表对flash进行重新分区。
进一步地,所述Android系统升级程序被处理器执行时还实现如下操作:
所述方法还包括:
检测所述外部存储设备中是否存在改变分区配置的指示;
若在所述外部存储设备中不存在分区标志,则根据正常Recovery流程完成系统升级;
检测是否存在外接存储设备;
若不存在外部存储设备,则根据正常Recovery流程完成系统升级。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种Android系统升级方法,其特征在于,包括:
接收Android系统的升级提醒;
检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
2.根据权利要求1所述的Android系统升级方法,其特征在于,所述接收Android系统的升级提醒的步骤包括:
检测Android升级包的版本是否高于现有系统版本;
若所述Android升级包的版本高于现有版本,则下载所述Android升级包的配置文件。
3.根据权利要求1所述的Android系统升级方法,其特征在于,所述检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备的步骤包括:
将所述Android升级包的配置文件保存至cache分区并解析;
检测所述配置文件中是否存在改变分区配置的指示;
若存在改变分区配置的指示,则检测是否存在外接存储设备。
4.根据权利要求1所述的Android系统升级方法,其特征在于,所述若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求的步骤包括:
若存在外接存储设备,则运行启动盘制作程序以使得将所述外接存储设备作为所述Android系统启动盘;
将配置文件传送到cache分区以重新设置启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
5.根据权利要求4所述的Android系统升级方法,其特征在于,所述将配置文件传送到cache分区以重新设置启动参数的步骤包括:
按照所述启动参数重启并运行所述外部存储设备中的Android系统。
6.根据权利要求5所述的Android系统升级方法,其特征在于,所述方法还包括:
解析所述Android升级包的配置文件,并下载分区表;
根据分区表对flash进行重新分区。
7.根据权利要求1所述的Android系统升级方法,其特征在于,所述方法还包括:
检测所述外部存储设备中是否存在改变分区配置的指示;
若在所述外部存储设备中不存在分区标志,则根据正常Recovery流程完成系统升级;
检测是否存在外接存储设备;
若不存在外部存储设备,则根据正常Recovery流程完成系统升级。
8.一种Android系统升级装置,其特征在于,包括:
接收模块,用于接收Android系统的升级提醒;
判断模块,用于检验Android升级包中是否存在改变分区配置的指示,若有,则检测是否存在外接存储设备;
配置模块,用于若存在外接存储设备,则重设启动参数,以使得待升级设备下一次启动时从外部存储设备重新启动完成升级要求。
9.一种Android TV机顶盒,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器上存储有可被至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7任一项所述的方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机可读存储介质上存储有Android系统升级程序,所述Android系统升级程序被处理器执行时实现如权利要求1至7中任一项所述的提示方法的步骤。
CN202111527216.XA 2021-12-14 2021-12-14 一种Android系统升级方法、装置、机顶盒及存储介质 Pending CN114237675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111527216.XA CN114237675A (zh) 2021-12-14 2021-12-14 一种Android系统升级方法、装置、机顶盒及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111527216.XA CN114237675A (zh) 2021-12-14 2021-12-14 一种Android系统升级方法、装置、机顶盒及存储介质

Publications (1)

Publication Number Publication Date
CN114237675A true CN114237675A (zh) 2022-03-25

Family

ID=80755771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111527216.XA Pending CN114237675A (zh) 2021-12-14 2021-12-14 一种Android系统升级方法、装置、机顶盒及存储介质

Country Status (1)

Country Link
CN (1) CN114237675A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687663A (zh) * 2024-02-04 2024-03-12 湖北芯擎科技有限公司 基于ota的分区动态调整方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687663A (zh) * 2024-02-04 2024-03-12 湖北芯擎科技有限公司 基于ota的分区动态调整方法、装置、设备及存储介质
CN117687663B (zh) * 2024-02-04 2024-04-16 湖北芯擎科技有限公司 基于ota的分区动态调整方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US20080216066A1 (en) Program upgrade system and method for ota-capable mobile terminal
CN109634645B (zh) 固件升级方法及终端
KR101007739B1 (ko) Fota 서비스 제공 방법 및 그 시스템
CN109964227B (zh) 更新SELinux安全策略的方法及终端
EP3007062A1 (en) Firmware upgrade method and apparatus, and communication device
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
US20140067879A1 (en) Application management for a terminal
CN107577472B (zh) 软件安装方法、装置及计算机可读存储介质
CN106020875B (zh) 嵌入式终端的固件更新管理方法和装置
CN112416406B (zh) 终端设备升级方法、装置、终端设备和介质
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
CN109683967B (zh) 固件支持方法、装置、移动终端及可读存储介质
KR20200090010A (ko) 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체
CN102004657B (zh) 一种电子设备及其升级方法
KR102516583B1 (ko) 전자 장치 및 전자 장치의 업데이트 제어 방법
CN111290773B (zh) 系统升级方法、设备及可读存储介质
CN114237675A (zh) 一种Android系统升级方法、装置、机顶盒及存储介质
CN110502263B (zh) 升级包制作方法、系统及计算机可读存储介质
US20160085456A1 (en) Data read apparatus, data read method, and storage medium storing data read program
CN114780019A (zh) 电子设备的管理方法、装置、电子设备及存储介质
CN112181467B (zh) 终端的存储器固件升级方法、装置、终端和存储介质
US20210349855A1 (en) Method of data structuring for difference between old and new data and device thereof
CN104991805A (zh) 智能设备及其系统灾备控制方法
CN115951920A (zh) 移动设备升级方法、装置、存储单元和移动设备
KR20190098516A (ko) 어플리케이션과 관련된 데이터를 관리하기 위한 방법 및 그 전자 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination