CN114168182A - 一种Android终端应用升级的方法 - Google Patents
一种Android终端应用升级的方法 Download PDFInfo
- Publication number
- CN114168182A CN114168182A CN202111350816.3A CN202111350816A CN114168182A CN 114168182 A CN114168182 A CN 114168182A CN 202111350816 A CN202111350816 A CN 202111350816A CN 114168182 A CN114168182 A CN 114168182A
- Authority
- CN
- China
- Prior art keywords
- packets
- differential
- application
- full
- list
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 5
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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终端应用升级的方法,只需要对相邻版本的全量包做差分包,在终端上进行升级时,采用遍历差分包的方式逐步生成全量包并逐步校验,在所有校验都通过后生成最终的全量包即可进行升级。大大减少了生成差分包的数量和时间,降低了差分包的运维成本,提高了版本发布的效率及安全性。
Description
技术领域
本发明涉及智能设备技术领域,具体涉及一种Android终端应用升级的方法。
背景技术
Android手机和平板等终端销售到市场后,生产厂家经常要发布系统升级用于优化系统或者解决各种软硬件问题,系统升级以增量升级为主,增量升级只升级新系统相对于旧系统变化的部分,这样可以使系统升级小而快。对于一款Android终端,在整个销售和维护周期内可能要发布多个版本的ROM,这样市场上也就对应有多个版本的程序,为了使每个终端都能一次性升级到最新版本的程序,开发一个新的ROM时,就需要对市场所有版本的ROM做增量升级包,上传并配置服务器。假如市场上有10个版本的ROM,开发第11个版本的ROM时,就要针对前面10个版本的ROM做10个增量包,当开发第12个版本的ROM时,就需要做11个增量包,以此类推。
生成一个增量包需要花费较长的时间,当市场上ROM版本较多时,生成多个增量包需要花费非常长的时间,而未必每个增量包都会被用到,因为市场上有些旧版的ROM可能早已升级到较新的版本了,也就是某些版本ROM的终端已经不存在了,这无疑造成资源的浪费。
发明内容
针对现有技术的不足,本发明旨在提供一种Android终端应用升级的方法。
为了实现上述目的,本发明采用如下技术方案:
一种Android终端应用升级的方法,具体过程为:
S1、在服务器中存储各个应用的各个版本的全量包、各个应用的相邻版本的全量包之间的差分包,以及各个全量包的配置信息;全量包的配置信息包括应用名称、包名、版本和md5值;所述差分包的命名格式为默认前缀-低版本-高版本-差分次序;
S2、当android终端检测到某个应用有新版本,并触发应用更新升级时,android终端进一步触发上报应用信息到所述服务器,并请求服务器进行更新升级;
S3、所述服务器获取到上报的应用信息后,根据应用信息获取到该应用当前版本到该应用最新版本之间的所有差分包的列表,以及该应用当前版本以后的各版本的全量包的配置信息列表;所述差分包的列表按照所述差分次序升序排列,所述全量包的配置信息列表按照版本升序排列;
S4、所述服务器将获取的差分包的列表及全量包的配置信息列表下发给该android终端,该android终端通过下载获得;
S5、所述android终端遍历所述差分包的列表,将android终端中关于该应用当前最新的全量包和差分包的列表中排序第一的差分包进行合并生成最新的全量包,并计算合并生成的最新的全量包的md5值;然后获取全量包的配置信息列表中排序第一的配置信息,对最新的终端全量包的md5值进行校验,若校验失败则提示升级失败,并引导用户重试升级,否则删除差分包的列表中排序第一的差分包并删除全量包的配置信息列表中排序第一的配置信息,然后跳转至步骤S6;
S6、重新执行步骤S5,直至所述差分包列表遍历完毕,此时的最新的终端全量包记为最终升级包,所述android终端根据最终升级包进行升级。
进一步地,所述应用信息包括应用名、包名、当前版本。
本发明的有益效果在于:本发明方法中,只需要对相邻版本的全量包做差分包,在终端上进行升级时,采用遍历差分包的方式逐步生成全量包并逐步校验,在所有校验都通过后生成最终的全量包即可进行升级。大大减少了生成差分包的数量和时间,降低了差分包的运维成本,提高了版本发布的效率及安全性。
具体实施方式
以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例公开了一种Android终端应用升级的方法,具体过程为:
S1、在服务器中存储各个应用的各个版本的全量包、各个应用的相邻版本的全量包之间的差分包,以及各个全量包的配置信息;全量包的配置信息包括应用名称、包名、版本和md5值;所述差分包的命名格式为默认前缀-低版本-高版本-差分次序(如应用存在1.0、2.0、3.0总共三个版本,则共计生成两个相邻版本的差分包patch-1.0-2.0-1、patch-2.0-3.0-2)。
S2、当android终端检测到某个应用有新版本,并触发应用更新升级时,android终端进一步触发上报应用信息(应用名、包名、当前版本)到所述服务器,并请求服务器进行更新升级。
S3、所述服务器获取到上报的应用信息后,根据应用信息获取到该应用当前版本到该应用最新版本之间的所有差分包的列表,以及该应用当前版本以后的各版本的全量包的配置信息列表;所述差分包的列表按照所述差分次序升序排列,所述全量包的配置信息列表按照版本升序排列;
例如,上报信息中当前版本为1.0,应用最新版本为3.0,则差分包列表由patch-1.0-2.0-1、patch-2.0-3.0-2构成,而全量包的配置信息列表为全量包2.0及全量包3.0的配置信息。
S4、所述服务器将获取的差分包的列表及全量包的配置信息列表下发给该android终端,该android终端通过下载获得;
S5、所述android终端遍历所述差分包的列表,将该应用当前版本的全量包和差分包的列表中排序第一的差分包进行合并生成最新的终端全量包,并计算所述最新的终端全量包的md5值;然后获取全量包的配置信息列表中排序第一的配置信息,对最新的终端全量包的md5值进行校验,若校验失败则提示升级失败,并引导用户重试升级,否则删除差分包的列表中排序第一的差分包并删除全量包的配置信息列表中排序第一的配置信息,然后跳转至步骤S6;
S6、重新执行步骤S5,直至所述差分包列表遍历完毕,此时的最新的终端全量包记为最终升级包,所述android终端根据最终升级包进行升级。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (2)
1.一种Android终端应用升级的方法,其特征在于,具体过程为:
S1、在服务器中存储各个应用的各个版本的全量包、各个应用的相邻版本的全量包之间的差分包,以及各个全量包的配置信息;全量包的配置信息包括应用名称、包名、版本和md5值;所述差分包的命名格式为默认前缀-低版本-高版本-差分次序;
S2、当android终端检测到某个应用有新版本,并触发应用更新升级时,android终端进一步触发上报应用信息到所述服务器,并请求服务器进行更新升级;
S3、所述服务器获取到上报的应用信息后,根据应用信息获取到该应用当前版本到该应用最新版本之间的所有差分包的列表,以及该应用当前版本以后的各版本的全量包的配置信息列表;所述差分包的列表按照所述差分次序升序排列,所述全量包的配置信息列表按照版本升序排列;
S4、所述服务器将获取的差分包的列表及全量包的配置信息列表下发给该android终端,该android终端通过下载获得;
S5、所述android终端遍历所述差分包的列表,将android终端中关于该应用当前最新的全量包和差分包的列表中排序第一的差分包进行合并生成最新的全量包,并计算合并生成的最新的全量包的md5值;然后获取全量包的配置信息列表中排序第一的配置信息,对最新的终端全量包的md5值进行校验,若校验失败则提示升级失败,并引导用户重试升级,否则删除差分包的列表中排序第一的差分包并删除全量包的配置信息列表中排序第一的配置信息,然后跳转至步骤S6;
S6、重新执行步骤S5,直至所述差分包列表遍历完毕,此时的最新的终端全量包记为最终升级包,所述android终端根据最终升级包进行升级。
2.根据权利要求1所述的方法,其特征在于,所述应用信息包括应用名、包名、当前版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350816.3A CN114168182A (zh) | 2021-11-15 | 2021-11-15 | 一种Android终端应用升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350816.3A CN114168182A (zh) | 2021-11-15 | 2021-11-15 | 一种Android终端应用升级的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168182A true CN114168182A (zh) | 2022-03-11 |
Family
ID=80479122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111350816.3A Pending CN114168182A (zh) | 2021-11-15 | 2021-11-15 | 一种Android终端应用升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168182A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257277A (zh) * | 2023-05-12 | 2023-06-13 | 天津卓朗昆仑云软件技术有限公司 | 镜像文件的更新方法、装置及voi系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294685A1 (en) * | 2006-06-19 | 2007-12-20 | Samsung Electronics Co., Ltd. | Program upgrade system and method for ota-capable portable device |
CN104661090A (zh) * | 2015-02-04 | 2015-05-27 | 深圳市九洲电器有限公司 | 机顶盒升级方法及系统 |
CN106201588A (zh) * | 2016-06-28 | 2016-12-07 | 青岛海信移动通信技术股份有限公司 | 终端的软件升级方法和终端 |
WO2017036183A1 (zh) * | 2015-09-02 | 2017-03-09 | 中兴通讯股份有限公司 | 差分升级包的处理方法及装置,升级方法、系统及装置 |
CN108733400A (zh) * | 2018-04-27 | 2018-11-02 | 新光互联投资管理有限公司 | 一种App增量热更新方法及服务系统 |
CN112994955A (zh) * | 2021-04-21 | 2021-06-18 | 恒生电子股份有限公司 | 升级包发送管理方法、增量升级包制备方法及相关装置 |
-
2021
- 2021-11-15 CN CN202111350816.3A patent/CN114168182A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294685A1 (en) * | 2006-06-19 | 2007-12-20 | Samsung Electronics Co., Ltd. | Program upgrade system and method for ota-capable portable device |
CN104661090A (zh) * | 2015-02-04 | 2015-05-27 | 深圳市九洲电器有限公司 | 机顶盒升级方法及系统 |
WO2017036183A1 (zh) * | 2015-09-02 | 2017-03-09 | 中兴通讯股份有限公司 | 差分升级包的处理方法及装置,升级方法、系统及装置 |
CN106201588A (zh) * | 2016-06-28 | 2016-12-07 | 青岛海信移动通信技术股份有限公司 | 终端的软件升级方法和终端 |
CN108733400A (zh) * | 2018-04-27 | 2018-11-02 | 新光互联投资管理有限公司 | 一种App增量热更新方法及服务系统 |
CN112994955A (zh) * | 2021-04-21 | 2021-06-18 | 恒生电子股份有限公司 | 升级包发送管理方法、增量升级包制备方法及相关装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257277A (zh) * | 2023-05-12 | 2023-06-13 | 天津卓朗昆仑云软件技术有限公司 | 镜像文件的更新方法、装置及voi系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI687867B (zh) | 用於可信執行環境的可信應用產生及安裝方法 | |
CN106572372B (zh) | 一种机顶盒升级方法及机顶盒 | |
CN107608706B (zh) | 一种基于功能模块的应用程序自动热更新方法 | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
US8965746B2 (en) | System and method for validating an electrical network model | |
CN106886437B (zh) | 应用程序更新方法与装置 | |
CN112650520A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN104915234B (zh) | 一种Android移动终端升级上报方法及系统 | |
US20170230713A1 (en) | Set Top Box Upgrade Method and Apparatus | |
CN109324821B (zh) | 一种自助终端系统版本管理方法 | |
CN114168182A (zh) | 一种Android终端应用升级的方法 | |
CN107396188A (zh) | 一种机顶盒的升级方法及系统 | |
WO2016145897A1 (zh) | 一种更新数据包的制作方法及装置 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN116340956B (zh) | 一种电力嵌入式终端设备的可信防护优化方法和装置 | |
CN112667272A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN110990046A (zh) | 一种基于动态文件的升级方法 | |
CN105872106A (zh) | 空中下载升级方法、空中下载服务器及终端 | |
CN112040320B (zh) | 一种电视果应用的升级方法及装置 | |
CN112657196A (zh) | 资源更新方法、装置、计算机设备和可读存储介质 | |
CN113326055B (zh) | 一种设备更新方法及相关装置 | |
CN112433744A (zh) | 一种基于智能合约的税务终端应用系统升级迁移方法 | |
CN112579141A (zh) | 一种嵌入式系统的固件更新方法、装置、设备及存储介质 | |
WO2023045090A1 (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 |