CN112925549A - 基于安卓框架的系统应用升级系统 - Google Patents

基于安卓框架的系统应用升级系统 Download PDF

Info

Publication number
CN112925549A
CN112925549A CN202110256391.3A CN202110256391A CN112925549A CN 112925549 A CN112925549 A CN 112925549A CN 202110256391 A CN202110256391 A CN 202110256391A CN 112925549 A CN112925549 A CN 112925549A
Authority
CN
China
Prior art keywords
upgrading
apk
app
batch
system application
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
CN202110256391.3A
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.)
Zhejiang Hozon New Energy Automobile Co Ltd
Original Assignee
Zhejiang Hozon New Energy Automobile 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 Zhejiang Hozon New Energy Automobile Co Ltd filed Critical Zhejiang Hozon New Energy Automobile Co Ltd
Priority to CN202110256391.3A priority Critical patent/CN112925549A/zh
Publication of CN112925549A publication Critical patent/CN112925549A/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/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于安卓框架的系统应用升级系统,包括:Sota云端服务器、Sota APP模块以及Sota框架模块。Sota云端服务器生成升级策略;Sota APP模块收集终端系统版本信息并与Sota云端服务器进行数据交互,执行Sota云端服务器下发的所述升级策略进而下载需要升级的APP,在下载完成后以及更新之前,SotaAPP模块进行文件完整性校验以及签名检验,并生成配置文件在系统重启时由Sota框架模块进行解析处理;每次开机启动,Sota APP模块检测批量APP升级状态,弹出提示信息给用户以及上传日志信息到Sota云端服务器;Sota框架模块执行批量APP升级流程以及设置相应的升级结果状态,并对升级过程进行日志记录。

Description

基于安卓框架的系统应用升级系统
技术领域
本发明涉及车载操作系统,尤其涉及车载升级系统。
背景技术
车载安卓(Android)系统经过厂家进行自定义裁剪、增添软硬件功能模块后已经成为了一种高度定制化的系统,原生安卓(Android)系统公共接口(API)已经不能满足功能开发的需要,因此各个厂商都会增添新的接口以满足上层APP开发的功能需求。因此,基于该系统之上开发的APP与底层系统关系紧密,同时各APP之间也互相关联,当某一个功能模块发生修改后可能会需要其他所有相关联的APP都进行修改,这就需要有一种机制能够进行相关联APP的批量升级以及回滚功能。另外,APP开发完成以后在实际运行当中难免会出现各种程序错误(bug),修复bug是一种频繁反复的过程,这就需要有一种非常快速灵活的更新APP的机制。
传统的空中下载技术(OTA)升级方式可以解决上述问题,但存在如下弊端:
首先,OTA升级出增量包或者全量包需要对整个Android系统进行编译,花费时间长。
其次,APP的更新比系统升级要频繁很多,频繁的OTA升级使得Android系统版本管理复杂,同时需要维护很大的基础包用于后续版本生成差异包,额外占用大量的磁盘空间。
再次,APP全部依赖于OTA升级使得APP的快速迭代更新不够灵活,额外加重OTA功能的负担。
还有一种升级方式是通过编写自己的APK安装器来实现,这种方式有如下弊端:
1.不能针对所有类型的APP进行更新,比如带有persist属性的APP是不允许安装更新的。
2.APK的卸载安装是在系统正在运行的情况下进行,如果APP正在运行中,则必须要杀死掉进程安装才能继续,容易出现APP异常crash的现象;
3.APP更新之后可能必须要重启系统才能使用最新版本的APP。
4.APP安装过程走标准的安装接口,操作耗时。
5.安装更新之前需要拷贝备份一份旧版本的APK用于安装失败后回滚安装旧版本,额外消耗磁盘空间。
基于以上问题,这就需要有一种新的机制来实现高效灵活的多个APP的批量升级和回滚功能。
发明内容
为了解决上述问题,本发明提供了一种新的机制来实现高效灵活的多个APP的批量升级和回滚功能。
本发明提供了一种基于安卓框架的系统应用升级系统(Sota升级系统),该系统是针对于车载安卓系统的一种带回滚功能的执行云端升级策略的批量APP升级系统。
本发明的基于安卓框架的系统应用升级系统,包括:系统应用升级云端服务器(Sota云端服务器)、系统应用升级APP模块(Sota APP模块)以及系统应用升级框架模块(Sota框架模块);
所述系统应用升级云端服务器,被配置成生成升级策略;
所述系统应用升级APP模块,被配置成收集终端系统版本信息并与所述系统应用升级云端服务器进行数据交互,执行所述系统应用升级云端服务器下发的所述升级策略进而下载需要升级的APP,在下载完成后以及更新之前,所述系统应用升级APP模块进行文件完整性校验以及签名检验,并生成配置文件在系统重启时由系统应用升级框架模块进行解析处理;每次开机启动,所述系统应用升级APP模块检测批量APP升级状态,弹出提示信息给用户以及上传日志信息到所述系统应用升级云端服务器;
所述系统应用升级框架模块,被配置成执行批量APP升级流程以及设置相应的升级结果状态,并对升级过程进行日志记录。
在一个实施例中,所述系统应用升级框架模块还被配置成,在升级过程中如果某个APP升级失败,则将批量APP升级流程中所有相关联的APP都恢复到升级之前的版本状态。
在一个实施例中,所述系统应用升级框架模块在系统重启时对所述配置文件进行解析处理。
在一个实施例中,所述框架模块被配置成按以下步骤执行批量APP升级流程:
步骤203:检查所有apk版本;
步骤204:根据apk安装逻辑拷贝所有的新版本apk到/data/app相应目录下并解包出系统共享库(.so文件);
步骤205:判断apk版本检查是否通过;若通过,则执行步骤206;若不成功,则执行步骤214;
步骤206:判断所述拷贝是否成功;若成功,则执行步骤207;若不成功,则执行步骤214。
步骤207:扫描解析/data/app下面的apk;
步骤208:判断批量升级流程是否继续且新版本apk是否解析成功;若是,则执行步骤209;若否,则执行步骤215;
步骤209:判断批量升级流程是否继续且扫描解析的是否是新版本apk;若是,则执行步骤210;若否,则执行步骤216;
步骤210:把解析后的apk数据包信息(package)放到新版本解析后的apk信息(package)列表中;
步骤211:中断本apk的后续安装过程;
步骤212:判断是否所有apk都扫描解析完成?若都完成,则执行步骤213;若没有全部完成,则返回步骤207;
步骤213:进行系统应用安装流程;
步骤214:进行数据清理;
步骤215:进行正常的安装流程,并随后跳转至步骤212;
步骤216:修改批量升级流程状态为终止。
在一个实施例中,在步骤203之前还包括:
步骤202:判断是否需要升级;若需要,则执行步骤203;若不需要,则执行步骤214。
在一个实施例中,在步骤202之前还包括:
步骤201:等待系统APP扫描解析安装完成。
在一个实施例中,在步骤216之后还进行以下步骤:
步骤217:删除该apk的相关资源,并跳转到步骤212。
在一个实施例中,步骤215包括以下子步骤:
步骤301:判断批量升级流程是否继续?若是,则执行步骤302;若否,则流程结束;
步骤302:进行安装前检查;
步骤303:判断检查是否通过;若通过,则执行步骤304;若否,则执行步骤325;
步骤304:取一条新版本apk信息;
步骤305:根据该新版本apk信息对应的包名得到解析后的apk信息和旧版本的apk信息;
步骤306:卸载旧版本apk;
步骤307:判断旧版本apk是否卸载成功;若卸载成功,则执行步骤308;若否,则执行步骤326;
步骤308:安装新版本apk;
步骤309:判断新版本apk是否安装成功;若成功,则执行步骤310;若否,则执行步骤326;
步骤310:修改该单个apk的安装状态为成功;
步骤311:判断是否所有新版本apk都安装完成?若是,则执行步骤312;若否,则返回执行步骤304。
步骤312:检查批量安装状态;
步骤313:判断所有apk是否都安装成功?若是,则执行步骤327;若否,则执行步骤314。
步骤314:取一条新版本apk信息;
步骤315:删除该新版本apk信息的代码路径;
步骤316:判断该apk是否已更新成功?若是,则执行步骤317;若否,则执行步骤321;
步骤317:卸载已安装的新版本apk。
步骤318:判断是否卸载成功?若是,则执行步骤319;若否,则执行步骤329。
步骤319:重新安装旧版本apk;
步骤320:判断旧版本apk是否安装成功;若是,则执行步骤321;若否,则执行步骤329;
步骤321:准备处理下一条数据;
步骤322:判断是否所有apk都回滚完成?若是,则执行步骤323;若否,则执行步骤314。
步骤323:判断是否回滚成功;若是,则执行步骤324;若否,则执行步骤330;
步骤324:设置批量升级状态为回滚成功,并结束流程;
步骤325:修改批量升级状态为失败,并结束流程;
步骤326:修改批量升级状态为失败,并跳转至执行步骤312;
步骤327:对每个旧版本清理apk的代码缓存,在数据分区删除代码路径;
步骤328:设置批量安装状态为成功,并结束流程;
步骤329:修改回滚标志为回滚失败,并跳转至执行步骤321;
步骤330:设置批量升级状态为回滚失败,并结束流程。
本发明提供的基于安卓框架的系统应用升级系统能实现高效灵活的多个APP的批量升级和回滚功能。该系统是针对于车载安卓系统的一种带回滚功能的执行云端升级策略的批量APP升级系统。
附图说明
本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出根据本发明一实施例的基于安卓框架的系统应用升级系统的整体架构图;
图2示出根据本发明一实施例的系统应用框架模块批量升级APP的流程图;
图3示出了根据本发明一实施例的步骤215的具体流程。
具体实施方式
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
车载安卓(Android)系统经过厂家进行自定义裁剪、增添软硬件功能模块后已经成为了一种高度定制化的系统,原生安卓(Android)系统公共接口(API)已经不能满足功能开发的需要,因此各个厂商都会增添新的接口以满足上层APP开发的功能需求。因此,基于该系统之上开发的APP与底层系统关系紧密,同时各APP之间也互相关联,当某一个功能模块发生修改后可能会需要其他所有相关联的APP都进行修改,这就需要有一种机制能够进行相关联APP的批量升级已经回滚功能。另外,APP开发完成以后在实际运行当中难免会出现各种程序错误(bug),修复bug是一种频繁反复的过程,这就需要有一种非常快速灵活的更新APP的机制。
传统的空中下载技术(OTA)升级方式可以解决上述问题,但存在如下弊端:
首先,OTA升级出增量包或者全量包需要对整个Android系统进行编译,花费时间长。
其次,APP的更新比系统升级要频繁很多,频繁的OTA升级使得Android系统版本管理复杂,同时需要维护很大的基础包用于后续版本生成差异包,额外占用大量的磁盘空间。
再次,APP全部依赖于OTA升级使得APP的快速迭代更新不够灵活,额外加重OTA功能的负担。
还有一种升级方式是通过编写自己的APK安装器来实现,这种方式有如下弊端:
1.不能针对所有类型的APP进行更新,比如带有persist属性的APP是不允许安装更新的。
2.APK的卸载安装是在系统正在运行的情况下进行,如果APP正在运行中,则必须要杀死掉进程安装才能继续,容易出现APP异常crash的现象;
3.APP更新之后可能必须要重启系统才能使用最新版本的APP。
4.APP安装过程走标准的安装接口,操作耗时。
5.安装更新之前需要拷贝备份一份旧版本的APK用于安装失败后回滚安装旧版本,额外消耗磁盘空间。
为了解决上述问题,本发明提供了一种新的机制来实现高效灵活的多个APP的批量升级和回滚功能。
本发明提供了一种基于安卓框架的系统应用升级系统,该系统是针对于车载安卓系统的一种带回滚功能的执行云端升级策略的批量APP升级系统。该系统包括系统应用升级云端服务器(Sota云端服务器)101、系统应用升级APP模块(Sota APP模块)102和系统应用升级框架模块(Sota框架模块)103三部分组成。
图1示出根据本发明一实施例的基于安卓框架的系统应用升级系统的整体架构图。
Sota云端服务器101负责生成升级策略并与Sota APP模块102交互,管理员可以对需要更新的APP进行管理配置。
Sota APP模块102负责收集终端系统版本等信息与云端服务器101交互,负责执行Sota云端服务器101下发的升级策略进而下载需要升级的APP,在下载完成后,Sota APP模块102还需要进行更新之前的文件完整性校验、签名检验等准备工作。在准备工作完成以后生成相应的配置文件在系统重启时由Sota框架模块103进行解析处理。每次开机启动,SotaAPP模块负责检测批量升级状态,弹出提示信息给用户以及上传日志信息到Sota云端服务器101。
Sota框架模块103则负责执行具体的升级操作以及设置相应的升级结果状态,升级过程需要有日志记录。升级过程中如果某个APP升级失败,则所有相关的APP必须都要恢复到升级之前的版本状态。
图2示出根据本发明一实施例的系统应用升级框架模块批量升级APP的流程图。
步骤201:等待系统APP扫描解析安装完成。
步骤202:判断是否需要升级。若需要,则执行步骤203。若不需要,则执行步骤214。
步骤203:检查所有apk(Android应用程序包)版本。
步骤204:根据apk安装逻辑拷贝所有的新版本apk到/data/app相应目录下并解包出系统共享库(.so文件)。
步骤205:判断版本检查是否通过,若通过,则执行步骤206;若不成功,则执行步骤214。
步骤206:判断拷贝是否成功。若成功,则执行步骤207;若不成功,则执行步骤214。
步骤207:扫描解析/data/app下面的apk。
步骤208:判断批量升级流程继续且新版本apk是否解析成功?若是,则执行步骤209。若否,则执行步骤215。
步骤209:判断批量升级流程继续且扫描解析的是否是新版本apk?若是,则执行步骤210。若否,则执行步骤216。
步骤210:把解析后的apk信息放到新版本解析后的apk信息列表中。
步骤211:中断本apk的后续安装过程。
步骤212:判断是否所有Apk都扫描解析完成?若都完成,则执行步骤213;若没有全部完成,则返回步骤207。
步骤213:进行系统应用安装流程。
步骤214:进行数据清理,批量升级流程结束。
步骤215:进行正常的安装流程,并随后跳转至步骤212。
步骤216:修改批量升级流程状态为终止。
步骤217:删除该Apk的相关资源,并跳转到步骤212。
图3示出了根据本发明一实施例的步骤215的具体流程。
步骤301:判断批量升级流程是否继续?若是,则执行步骤302;若否,则流程结束。
步骤302:进行安装前检查。
步骤303:判断检查是否通过;若通过,则执行步骤304;若否,则执行步骤325。
步骤304:取一条新版本apk信息。
步骤305:根据新版本apk信息对应的包名得到解析后的apk信息和旧版本的apk信息。
步骤306:卸载旧版本apk。
步骤307:判断是否卸载成功;若卸载成功,则执行步骤308;若否,则执行步骤326。
步骤308:安装新版本apk。
步骤309:判断新版本apk是否安装成功;若成功,则执行步骤310;若否,则执行步骤326。
步骤310:修改该单个apk的安装状态为成功。
步骤311:判断是否所有新版本apk都安装完成?若是,则执行步骤312;若否,则返回执行步骤304。
步骤312:检查批量安装状态。
步骤313:判断所有apk是否都安装成功?若是,则执行步骤327;若否,则执行步骤314。
步骤314:取一条新版本apk信息。
步骤315:删除该新版本apk信息的代码路径(code path)。
步骤316:判断该apk是否已更新成功?若是,则执行步骤317;若否,则执行步骤321。
步骤317:卸载已安装的新版本。
步骤318:判断是否卸载成功?若是,则执行步骤319;若否,则执行步骤329。
步骤319:重新安装旧版本apk。
步骤320:判断是否安装成功;若是,则执行步骤321;若否,则执行步骤329。
步骤321:准备处理下一条数据。
步骤322:判断是否所有apk都回滚完成?若是,则执行步骤323;若否,则执行步骤314。
步骤323:判断是否回滚成功;若是,则执行步骤324;若否,则执行步骤330。
步骤324:设置批量升级状态为回滚成功,并结束流程。
步骤325:修改批量升级状态为失败,并结束流程。
步骤326:修改批量升级状态为失败,并跳转至执行步骤312。
步骤327:对每个旧版本清理apk的代码缓存,在数据分区删除代码路径。
步骤328:设置批量安装状态为成功,并结束流程。
步骤329:修改回滚标志为回滚失败,并跳转至执行步骤321。
步骤330:设置批量升级状态为回滚失败,并结束流程。
这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

Claims (8)

1.一种基于安卓框架的系统应用升级系统,其特征在于,所述升级系统包括:
系统应用升级云端服务器、系统应用升级APP模块以及系统应用升级框架模块;
所述系统应用升级云端服务器,被配置成生成升级策略;
所述系统应用升级APP模块,被配置成收集终端系统版本信息并与所述系统应用升级云端服务器进行数据交互,执行所述系统应用升级云端服务器下发的所述升级策略进而下载需要升级的APP,在下载完成后以及更新之前,所述系统应用升级APP模块进行文件完整性校验以及签名检验,并生成配置文件在系统重启时由系统应用升级框架模块进行解析处理;每次开机启动,所述系统应用升级APP模块检测批量APP升级状态,弹出提示信息给用户以及上传日志信息到所述系统应用升级云端服务器;
所述系统应用升级框架模块,被配置成执行批量APP升级流程以及设置相应的升级结果状态,并对升级过程进行日志记录。
2.如权利要求1所述的基于安卓框架的系统应用升级系统,其特征在于,所述系统应用升级框架模块还被配置成,在升级过程中如果某个APP升级失败,则将批量APP升级流程中所有相关联的APP都恢复到升级之前的版本状态。
3.如权利要求1所述的基于安卓框架的系统应用升级系统,其特征在于,所述Sota框架模块在系统重启时对所述配置文件进行解析处理。
4.如权利要求1所述的基于安卓框架的系统应用升级系统,其特征在于,所述框架模块被配置成按以下步骤执行批量APP升级流程:
步骤203:检查所有apk版本;
步骤204:根据apk安装逻辑拷贝所有的新版本apk到/data/app相应目录下并解包出系统共享库;
步骤205:判断apk版本检查是否通过;若通过,则执行步骤206;若不成功,则执行步骤214;
步骤206:判断所述拷贝是否成功;若成功,则执行步骤207;若不成功,则执行步骤214。
步骤207:扫描解析/data/app下面的apk;
步骤208:判断批量升级流程是否继续且新版本apk是否解析成功;若是,则执行步骤209;若否,则执行步骤215;
步骤209:判断批量升级流程是否继续且扫描解析的是否是新版本apk;若是,则执行步骤210;若否,则执行步骤216;
步骤210:把解析后的apk信息放到新版本解析后的apk信息列表中;
步骤211:中断本apk的后续安装过程;
步骤212:判断是否所有apk都扫描解析完成?若都完成,则执行步骤213;若没有全部完成,则返回步骤207;
步骤213:进行系统应用安装流程;
步骤214:进行数据清理,批量升级流程结束;
步骤215:进行正常的安装流程,并随后跳转至步骤212;
步骤216:修改批量升级流程状态为终止。
5.如权利要求4所述的基于安卓框架的系统应用升级系统,其特征在于,在步骤203之前还包括:
步骤202:判断是否需要升级;若需要,则执行步骤203;若不需要,则执行步骤214。
6.如权利要求5所述的基于安卓框架的系统应用升级系统,其特征在于,在步骤202之前还包括:
步骤201:等待系统APP扫描解析安装完成。
7.如权利要求4所述的基于安卓框架的系统应用升级系统,其特征在于,在步骤216之后还进行以下步骤:
步骤217:删除该apk的相关资源,并跳转到步骤212。
8.如权利要求4所述的基于安卓框架的系统应用升级系统,其特征在于,所述步骤215包括以下子步骤:
步骤301:判断批量升级流程是否继续?若是,则执行步骤302;若否,则流程结束;
步骤302:进行安装前检查;
步骤303:判断检查是否通过;若通过,则执行步骤304;若否,则执行步骤325;
步骤304:取一条新版本apk信息;
步骤305:根据该新版本apk信息对应的包名得到解析后的apk信息和旧版本的apk信息;
步骤306:卸载旧版本apk;
步骤307:判断旧版本apk是否卸载成功;若卸载成功,则执行步骤308;若否,则执行步骤326;
步骤308:安装新版本apk;
步骤309:判断新版本apk是否安装成功;若成功,则执行步骤310;若否,则执行步骤326;
步骤310:修改该单个apk的安装状态为成功;
步骤311:判断是否所有新版本apk都安装完成?若是,则执行步骤312;若否,则返回执行步骤304;
步骤312:检查批量安装状态;
步骤313:判断所有apk是否都安装成功?若是,则执行步骤327;若否,则执行步骤314。
步骤314:取一条新版本apk信息;
步骤315:删除该新版本apk信息的代码路径;
步骤316:判断该apk是否已更新成功?若是,则执行步骤317;若否,则执行步骤321;
步骤317:卸载已安装的新版本apk;
步骤318:判断是否卸载成功?若是,则执行步骤319;若否,则执行步骤329。
步骤319:重新安装旧版本apk;
步骤320:判断旧版本apk是否安装成功;若是,则执行步骤321;若否,则执行步骤329;
步骤321:准备处理下一条数据;
步骤322:判断是否所有apk都回滚完成?若是,则执行步骤323;若否,则执行步骤314;
步骤323:判断是否回滚成功;若是,则执行步骤324;若否,则执行步骤330;
步骤324:设置批量升级状态为回滚成功,并结束流程;
步骤325:修改批量升级状态为失败,并结束流程;
步骤326:修改批量升级状态为失败,并跳转至执行步骤312;
步骤327:对每个旧版本清理apk的代码缓存,在数据分区删除代码路径;
步骤328:设置批量安装状态为成功,并结束流程;
步骤329:修改回滚标志为回滚失败,并跳转至执行步骤321;
步骤330:设置批量升级状态为回滚失败,并结束流程。
CN202110256391.3A 2021-03-09 2021-03-09 基于安卓框架的系统应用升级系统 Pending CN112925549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110256391.3A CN112925549A (zh) 2021-03-09 2021-03-09 基于安卓框架的系统应用升级系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110256391.3A CN112925549A (zh) 2021-03-09 2021-03-09 基于安卓框架的系统应用升级系统

Publications (1)

Publication Number Publication Date
CN112925549A true CN112925549A (zh) 2021-06-08

Family

ID=76172146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110256391.3A Pending CN112925549A (zh) 2021-03-09 2021-03-09 基于安卓框架的系统应用升级系统

Country Status (1)

Country Link
CN (1) CN112925549A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080076A (zh) * 2022-08-23 2022-09-20 江苏北弓智能科技有限公司 一种云手机软件管理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567049A (zh) * 2011-12-09 2012-07-11 惠州市德赛西威汽车电子有限公司 嵌入式操作系统的升级方法
CN105204909A (zh) * 2015-10-12 2015-12-30 Tcl集团股份有限公司 一种基于移动终端的强相关apk升级方法及系统
CN105549998A (zh) * 2015-12-15 2016-05-04 Tcl集团股份有限公司 一种终端应用程序的动态关联升级的方法和系统
CN111158719A (zh) * 2019-12-26 2020-05-15 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111343064A (zh) * 2020-02-29 2020-06-26 东风汽车集团有限公司 汽车控制系统软件升级系统及方法
CN111930410A (zh) * 2020-08-14 2020-11-13 海信视像科技股份有限公司 一种显示设备及闲时升级方法
CN112202920A (zh) * 2020-10-23 2021-01-08 上海擎感智能科技有限公司 车机系统升级方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567049A (zh) * 2011-12-09 2012-07-11 惠州市德赛西威汽车电子有限公司 嵌入式操作系统的升级方法
CN105204909A (zh) * 2015-10-12 2015-12-30 Tcl集团股份有限公司 一种基于移动终端的强相关apk升级方法及系统
CN105549998A (zh) * 2015-12-15 2016-05-04 Tcl集团股份有限公司 一种终端应用程序的动态关联升级的方法和系统
CN111158719A (zh) * 2019-12-26 2020-05-15 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111343064A (zh) * 2020-02-29 2020-06-26 东风汽车集团有限公司 汽车控制系统软件升级系统及方法
CN111930410A (zh) * 2020-08-14 2020-11-13 海信视像科技股份有限公司 一种显示设备及闲时升级方法
CN112202920A (zh) * 2020-10-23 2021-01-08 上海擎感智能科技有限公司 车机系统升级方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080076A (zh) * 2022-08-23 2022-09-20 江苏北弓智能科技有限公司 一种云手机软件管理方法
CN115080076B (zh) * 2022-08-23 2022-11-01 江苏北弓智能科技有限公司 一种云手机软件管理方法

Similar Documents

Publication Publication Date Title
US7735078B1 (en) System and method for software patching for cross-platform products
US10114637B1 (en) Automatically updating a shared project build platform
US6553490B1 (en) Computer system including local computer with capability to automatically update operating system or application program from network server
US8266692B2 (en) Malware automated removal system and method
US9606791B2 (en) Controlled method and apparatus to securely install and update software
US6385766B1 (en) Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US10579966B1 (en) Adapting a shared project build platform to a developer plugin
US9081639B2 (en) System and method for remotely re-imaging a computer system
US20120210312A1 (en) Software upgrading method, software upgrading system and client
US8978015B2 (en) Self validating applications
US20060271924A1 (en) Method and apparatus for automating updates to dependencies
CN111562934B (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN107220074B (zh) 对支撑层软件功能的访问、升级方法及装置
US10579513B2 (en) Test run control method and apparatus
CN112463198B (zh) 基于Electron的更新方法及系统
JPWO2009078285A1 (ja) 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法
CN110597544A (zh) 一种软件系统升级方法及装置
US7818557B2 (en) Method for re-imaging a computer system
CN110750280B (zh) 一种基于Android平台的应用升级方法及系统、存储介质
CN112416379B (zh) 一种应用程序安装方法、装置、计算设备及可读存储介质
CN106708550B (zh) 一种共享对象库加载的方法及装置
CN112925549A (zh) 基于安卓框架的系统应用升级系统
EP2648092B1 (en) Updating method and multi-domain embedded system
CN111061486B (zh) 一种安卓应用程序增量方法
CN111782236A (zh) 系统软件升级方法、装置、存储介质及一体机设备

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