CN113672275B - 一种工厂内更新Android终端内置数据的方法 - Google Patents
一种工厂内更新Android终端内置数据的方法 Download PDFInfo
- Publication number
- CN113672275B CN113672275B CN202110970889.6A CN202110970889A CN113672275B CN 113672275 B CN113672275 B CN 113672275B CN 202110970889 A CN202110970889 A CN 202110970889A CN 113672275 B CN113672275 B CN 113672275B
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- latest
- build
- img
- 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.)
- Active
Links
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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终端内置数据的方法,通过对data分区的数据进行单独打包,拆分,在经过改进的升级工具和服务器程序的配合下,在原有ROM固件包的基础上,只需要进行局部的更新就能完成内置数据的更新,而无需打包ROM进行测试,从而能够很方便地满足在工厂内更新内置数据的需求。
Description
技术领域
本发明涉及Android终端技术领域,具体涉及一种工厂内更新Android终端内置数据的方法。
背景技术
Android手机和平板出货时一般都会内置一些资源,比如图片、视频或者一些第三方应用等等。这些资源一般是放置到data分区。由于市场或者合作商经常会有一些需求的变更,这些内置数据往往存在变更的可能,在传统做法中,如果这些内置数据更新了,需要重新打包ROM的固件包,然后进行测试,测试成功后发到产线进行升级终端。ROM的打包和测试是很耗时间的,而内置数据的更新一般对程序没有影响,只要保证内容正确就可以了。
发明内容
针对现有技术的不足,本发明旨在提供一种工厂内更新Android终端内置数据的方法。
为了实现上述目的,本发明采用如下技术方案:
一种工厂内更新Android终端内置数据的方法,具体过程为:
在打包生成Android终端的ROM时,在原有固件包的基础上新增一个data_build_number.txt文件,用于记录固件包中data分区数据的生成时间;data分区数据包括两部分:data分区表和userdata.img的拆分数据,拆分数据和分区表中的每一项是一一对应的;
在服务器端开发服务器程序,用于提供上传和下载data分区数据的接口、保存data分区数据以及配置最新data分区数据的数据项;其中,最新data分区数据的数据项在数据库中的结构为(product,build_number,url),其中product为机型名称,build_number为最新data分区数据的生成时间,url为最新data分区数据的压缩文件包的存放位置;
对ROM固件包的升级工具开发如下功能:定时上传固件包中的data_build_number.txt中的时间和固件包的机型名称以查询服务器端中该机型是否存在最新data分区数据的数据项,如果存在并且其生成时间比固件包中data_build_number.txt中的时间新,升级工具就会从服务器获取该最新data分区数据的数据项,然后通过其中的url下载对应压缩文件包,下载成功后解压得到data分区表和userdata.img的拆分数据,其后把解压得到的data分区表替换总分区表中data分区的部分,把解压得到的userdata.img的拆分数据替换固件包中原有的部分,同时更新data_build_number.txt里面的生成时间,这样工厂就完成了一次内置数据的更新。
进一步地,所述压缩文件包为zip格式。
进一步地,所述把解压得到的data分区表替换总分区表中data分区的部分,把解压得到的userdata.img的拆分数据替换固件包中原有的部分,同时更新data_build_number.txt里面的生成时间的过程,需要在升级工具没有出现终端升级的情况下实施,实施过程中锁住升级工具,禁止使用,待替换完成后再解除锁定。
进一步地,当有内置数据需要更新时,由ROM的开发人员单独打包生成userdata.img并得到编译时间,然后通过脚本进行拆分生成得到一个data的分区表和userdata.img拆分数据,对data的分区表和userdata.img拆分数据进行压缩得到压缩文件包;然后通过服务器端提供的接口上传机型名称、编译时间、data分区数据的压缩文件包至服务器端;此时服务器端就会生成一个新的最新data分区数据的数据项(product,build_number,url),如果对应的机型有旧的数据项同时会删除旧的数据项。
本发明的有益效果在于:本发明通过对data分区的数据进行单独打包,拆分,在经过改进的升级工具和服务器程序的配合下,在原有ROM固件包的基础上,只需要进行局部的更新就能完成内置数据的更新,而无需打包ROM进行测试,从而能够很方便地满足在工厂内更新内置数据的需求。
具体实施方式
以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种工厂内更新Android终端内置数据的方法,具体过程为:
在打包生成Android终端的ROM时,在原有固件包的基础上新增一个data_build_number.txt文件,用于记录固件包中data分区数据的生成时间(随ROM一起打包生成的data分区数据的生成时间,也就是ROM的生成时间)。需要说明的是,data分区数据包括两部分:data分区表和userdata.img的拆分数据(为了实现多线程快速升级的需要,把一个img文件拆分成多个img文件),拆分数据和分区表中的每一项是一一对应的。
在服务器端开发服务器程序,用于提供上传和下载data分区数据的接口、保存data分区数据以及配置最新data分区数据的数据项。其中,最新data分区数据的数据项在数据库中的结构为(product,build_number,url),其中product为机型名称,build_number为最新data分区数据的生成时间,url为最新data分区数据的压缩文件包(zip格式)的存放位置。
ROM固件包的升级工具,除了传统的升级ROM的功能之外,还需要开发如下功能:定时上传固件包中的data_build_number.txt中的时间和固件包的机型名称(固件包一般会配置机型名称信息)以查询服务器端中该机型是否存在最新data分区数据的数据项,如果存在并且其生成时间比固件包中data_build_number.txt中的时间新,升级工具就会从服务器获取该最新data分区数据的数据项,然后通过其中的url下载对应压缩文件包,下载成功后解压得到data分区表和userdata.img的拆分数据,其后把解压得到的data分区表替换总分区表中data分区的部分,把解压得到的userdata.img的拆分数据替换固件包中原有的部分,同时更新data_build_number.txt里面的生成时间。为了避免在替换过程中对工厂正常的升级造成影响,替换过程需要在升级工具没有出现终端升级的情况下实施,实施过程中锁住升级工具,禁止使用,待替换完成后再解除锁定,这样工厂就完成了一次内置数据的更新。
进一步地,当有内置数据需要更新时,由ROM的开发人员单独打包生成userdata.img并得到编译时间,然后通过脚本进行拆分生成得到一个data的分区表和userdata.img拆分数据,对data的分区表和userdata.img拆分数据进行压缩得到压缩文件包(zip文件)。然后通过服务器端提供的接口上传机型名称、编译时间、data分区数据的压缩文件包至服务器端。此时服务器端就会生成一个新的最新data分区数据的数据项(product,build_number,url),如果对应的机型有旧的数据项同时会删除旧的数据项。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (4)
1.一种工厂内更新Android终端内置数据的方法,其特征在于,具体过程为:
在打包生成Android终端的ROM时,在原有固件包的基础上新增一个data_build_number.txt文件,用于记录固件包中data分区数据的生成时间;data分区数据包括两部分:data分区表和userdata.img的拆分数据,拆分数据和分区表中的每一项是一一对应的;
在服务器端开发服务器程序,用于提供上传和下载data分区数据的接口、保存data分区数据以及配置最新data分区数据的数据项;其中,最新data分区数据的数据项在数据库中的结构为(product,build_number,url),其中product为机型名称,build_number为最新data分区数据的生成时间,url为最新data分区数据的压缩文件包的存放位置;
对ROM固件包的升级工具开发如下功能:定时上传固件包中的data_build_number.txt中的时间和固件包的机型名称以查询服务器端中该机型是否存在最新data分区数据的数据项,如果存在并且其生成时间比固件包中data_build_number.txt中的时间新,升级工具就会从服务器获取该最新data分区数据的数据项,然后通过其中的url下载对应压缩文件包,下载成功后解压得到data分区表和userdata.img的拆分数据,其后把解压得到的data分区表替换总分区表中data分区的部分,把解压得到的userdata.img的拆分数据替换固件包中原有的部分,同时更新data_build_number.txt里面的生成时间,这样工厂就完成了一次内置数据的更新。
2.根据权利要求1所述的方法,其特征在于,所述压缩文件包为zip格式。
3.根据权利要求1所述的方法,其特征在于,所述把解压得到的data分区表替换总分区表中data分区的部分,把解压得到的userdata.img的拆分数据替换固件包中原有的部分,同时更新data_build_number.txt里面的生成时间的过程,需要在升级工具没有出现终端升级的情况下实施,实施过程中锁住升级工具,禁止使用,待替换完成后再解除锁定。
4.根据权利要求1所述的方法,其特征在于,当有内置数据需要更新时,由ROM的开发人员单独打包生成userdata.img并得到编译时间,然后通过脚本进行拆分生成得到一个data的分区表和userdata.img拆分数据,对data的分区表和userdata.img拆分数据进行压缩得到压缩文件包;然后通过服务器端提供的接口上传机型名称、编译时间、data分区数据的压缩文件包至服务器端;此时服务器端就会生成一个新的最新data分区数据的数据项(product,build_number,url),如果对应的机型有旧的数据项同时会删除旧的数据项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970889.6A CN113672275B (zh) | 2021-08-23 | 2021-08-23 | 一种工厂内更新Android终端内置数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970889.6A CN113672275B (zh) | 2021-08-23 | 2021-08-23 | 一种工厂内更新Android终端内置数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672275A CN113672275A (zh) | 2021-11-19 |
CN113672275B true CN113672275B (zh) | 2023-05-26 |
Family
ID=78545503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970889.6A Active CN113672275B (zh) | 2021-08-23 | 2021-08-23 | 一种工厂内更新Android终端内置数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672275B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701930A (zh) * | 2014-01-07 | 2014-04-02 | 浙江大学 | 一种移动应用程序的实时更新方法及*** |
CN105988843A (zh) * | 2015-02-15 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 移动终端固件升级方法及固件升级装置 |
CN106775723A (zh) * | 2016-12-16 | 2017-05-31 | 深圳市优***科技股份有限公司 | 基于Android平台的***固件定制的方法和Android设备 |
CN112948095A (zh) * | 2021-03-31 | 2021-06-11 | 读书郎教育科技有限公司 | 一种辅助Android终端在工厂流水线上测试的装置及方法 |
CN113110852A (zh) * | 2020-01-10 | 2021-07-13 | 北京小米移动软件有限公司 | 固件升级方法、装置及存储介质 |
-
2021
- 2021-08-23 CN CN202110970889.6A patent/CN113672275B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701930A (zh) * | 2014-01-07 | 2014-04-02 | 浙江大学 | 一种移动应用程序的实时更新方法及*** |
CN105988843A (zh) * | 2015-02-15 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 移动终端固件升级方法及固件升级装置 |
CN106775723A (zh) * | 2016-12-16 | 2017-05-31 | 深圳市优***科技股份有限公司 | 基于Android平台的***固件定制的方法和Android设备 |
CN113110852A (zh) * | 2020-01-10 | 2021-07-13 | 北京小米移动软件有限公司 | 固件升级方法、装置及存储介质 |
CN112948095A (zh) * | 2021-03-31 | 2021-06-11 | 读书郎教育科技有限公司 | 一种辅助Android终端在工厂流水线上测试的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113672275A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109725909B (zh) | 代码文件打包部署方法、持续集成服务器及*** | |
WO2016192197A1 (zh) | 一种终端的软件升级方法、装置、***和计算机存储介质 | |
EP3086225B1 (en) | File system upgrade package production method, upgrade method, device and terminal | |
US8726259B2 (en) | System and method for preserving device parameters during a FOTA upgrade | |
US20070294686A1 (en) | Program upgrade system and method for ota-capable device | |
CN107396188B (zh) | 一种机顶盒的升级方法及*** | |
CN111309336A (zh) | 分布式应用的部署方法及装置 | |
CN105867973A (zh) | 应用程序中so文件的加载方法及*** | |
JP2019510315A (ja) | モバイル端末のアプリケーション更新方法及び装置 | |
CN105808278A (zh) | 一种客户端版本升级方法及装置 | |
CN111796853A (zh) | 固件升级方法、***、设备及计算机存储介质 | |
CN113190254A (zh) | 一种更新方法及装置 | |
CN103218244A (zh) | 通信设备的软件更新升级方法 | |
CN113064630A (zh) | 移动端app自动打包方法、***、电子设备及存储介质 | |
CN113672275B (zh) | 一种工厂内更新Android终端内置数据的方法 | |
CN111722868A (zh) | 一种申威防火墙快速移植高版本linux内核的方法 | |
CN113741954A (zh) | ***软件生成方法、装置、电子设备及存储介质 | |
CN105740298A (zh) | 文件处理方法、装置及服务端设备 | |
CN105227600A (zh) | 移动设备***升级的方法 | |
CN107656767A (zh) | ***安装包自动更新的方法、装置、智能快递柜 | |
CN108141640B (zh) | 信息处理设备和信息处理方法 | |
US7716658B2 (en) | Method and apparatus for optimizing patching of objects containing references | |
CN107908430B (zh) | 一种配置pos文件***的方法及pos机 | |
CN113923263B (zh) | 离线数据下载方法、装置、设备及计算机可读存储介质 | |
CN110221855A (zh) | 一种app与服务器协同更新和离线运行的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |