升级包的生成方法、装置、计算机设备和存储介质与流程

文档序号:16529417发布日期:2019-01-05 10:37阅读:174来源:国知局
升级包的生成方法、装置、计算机设备和存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种升级包的生成方法、升级包的生成装置、计算机设备和计算机可读存储介质。



背景技术:

系统软件,是终端安装的支持其应用软件开发和运行的系统。在发掘系统缺陷时,或者系统内容需要更新时,常常需要对终端上安装的系统软件进行升级。现有的终端的系统软件升级,以智能平板为例,一般包括两种方式,一种是生成usb升级包,将usb升级包复制到存储设备例如u盘中,然后将u盘插入智能平板进行系统升级,另一种是生成无线下载(overtheair,ota)升级包,智能平板终端直接从服务器上下载ota升级包进行在线系统升级。

现有的系统软件的升级包的生成,一般是对升级版本的应用源码和系统源码进行编译,生成对应的升级版本的usb升级包或ota升级包,然而在实际的应用过程中,存在这样的情况,应用部分需要做一点变更,但是系统部分不需要变动的,如果采用现有的系统软件的升级包的生成方法,对时间和资源的消耗巨大,导致升级包的生成效率低下。



技术实现要素:

基于此,有必要针对现有的系统软件的升级包的生成方法在应用部分需要做变更但是系统部分不需要变动的情况下升级包的生成效率低下的技术问题,提供一种升级包的生成方法、升级包的生成装置、计算机设备和计算机可读存储介质。

一种升级包的生成方法,包括以下步骤:

对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件;

将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

根据所述升级版本的系统镜像文件生成升级包。

上述升级包的生成方法,对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

在一个实施例中,所述对原版本的系统镜像文件进行格式转换,生成与所述升级版本的应用程序安装包格式匹配的原版本的系统镜像文件包括:使用格式转换工具将测试通过的所述原版本的系统镜像文件中的文件格式由data格式转换为ext4格式;对所述ext4格式的原版本的系统镜像文件进行解压,将解压的ext4格式的原版本的系统镜像文件挂载到临时目录中。

编译生成的安卓系统的镜像文件是data的文件格式,不能直接进行访问替换,上述实施例的技术方案,将原版本的系统镜像文件中的文件格式由data格式转换为ext4格式,解压挂载到临时目录上,从而使得能够对系统镜像文件中的文件执行访问和替换的操作。

在一个实施例中,所述将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件包括:根据应用程序安装包的名称,将ext4格式的原版本的系统镜像文件中的与升级版本的应用程序安装包的名称相同的原版本的应用程序安装包用升级版本的应用程序安装包替换掉,生成ext4格式的升级版本的系统镜像文件。

上述实施例的技术方案,可以快速地通过安装包名称将相同名称的原版本的系统镜像文件中的原版本的应用程序安装包替换为升级版本的应用程序安装包,替换方式简便易于实现。

在一个实施例中,所述根据所述升级版本的系统镜像文件生成升级包的步骤包括:将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件;将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包。

上述实施例的技术方案,针对usb升级包的生成,通过格式转换将之前转换解压的ext4格式的升级版本的系统镜像文件重新转换回原来的data格式的升级版本的系统镜像文件,并生成用于整机烧录的usb升级包,实现对usb升级包的快速打包生成。

在一个实施例中,s280中所述根据所述升级版本的系统镜像文件生成升级包的步骤包括:对原版本的ota升级包进行解压,将原版本的ota升级包中的ext4格式的原版本的系统镜像文件替换为所述ext4格式的升级版本的系统镜像文件,得到ext4格式的升级版本的ota升级包;对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包。

上述实施例的技术方案,直接将现有的原版本的进行解压,并替换其中ext4格式的原版本的系统镜像文件为所述ext4格式的升级版本的系统镜像文件,再压缩生成用于升级的ota升级包,在原有版本的ota升级包基础上替换升级版本的系统镜像文件部分生成升级的ota升级包,而无需原始编译生成ota升级包,节省了ota升级包的生成时间,提升ota升级包的生成效率。

在一个实施例中,所述对升级版本的应用源码进行编译,生成升级版本的应用程序安装包之后,还包括步骤:使用密钥对所述升级版本的应用程序升级包进行重新签名。

应用程序在安装、升级和权限申请时,系统都需要对应用程序的签名信息进行校验,如果校验到该应用程序不是用特定的密钥进行签名的,上述安装、升级和权限申请等的行为都会失败,因此在生成升级包的过程中,需要对应用进行重新签名。现有技术对应用进行重新签名,一般是在系统软件编译的过程中进行,本发明的上述技术方案,去除了系统软件编译的步骤,而加入了对应用程序升级包进行重新签名的步骤,从而满足对应用程序进行重新签名的安全性校验需求。

在一个实施例中,所述对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包的步骤包括:对ext4格式的升级版本的ota升级包进行压缩,使用密钥对ext4格式的升级版本的ota升级包进行重新签名,生成用于升级的ota升级包。

在ota升级包的生成过程中,需要对ota升级包进行重新签名,现有技术一般是在系统软件编译的过程中进行,本发明的上述技术方案,去除了系统软件编译的步骤,而加入了对ota升级包进行重新签名的步骤,从而满足对ota升级包进行重新签名的安全性校验需求。

一种升级包的生成装置,包括:

应用编译模块,用于对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

格式转换模块,用于对原版本的系统镜像文件进行格式转换,生成与所述升级版本的应用程序安装包格式匹配的原版本的系统镜像文件;

应用替换模块,用于将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

升级包生成模块,用于根据所述升级版本的系统镜像文件生成升级包。

上述升级包的生成装置,对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件;

将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

根据所述升级版本的系统镜像文件生成升级包。

上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件;

将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

根据所述升级版本的系统镜像文件生成升级包。

上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

附图说明

图1为一个实施例中升级包的生成方法的应用环境图;

图2为一个实施例中升级包的生成方法的流程示意图;

图3为另一个实施例中升级包的生成方法的流程示意图;

图4为一个应用示例中升级包的生成方法的流程示意图;

图5为一个实施例中升级包的生成装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的升级包的生成方法,可以应用于如图1所示的应用环境中。其中,服务器110生成系统软件的升级包,可以通过存储设备例如u盘复制升级包,然后将存储设备连接终端120对终端120进行系统软件升级;终端120也可以与服务器110通信连接下载升级包,对终端120进行系统软件升级。其中,系统软件的操作系统可以是例如android、bsd、ios、linux或macosx等等类unix操作系统,终端120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器110可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种升级包的生成方法,以该方法应用于图1中的服务器110为例进行说明,包括以下步骤:

s220,对升级版本的应用源码进行编译,生成升级版本的应用程序安装包。

其中,升级版本是指当前需要升级更新到的版本,升级版本的应用源码即更新的用于替换原版本的应用部分的应用源码。

在此步骤中,服务器对升级版本的应用源码进行编译,生成升级版本的应用程序安装包。

s240,对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件。

其中,原版本是指的待升级的版本,与所述应用程序安装包格式匹配指的是使得可以对系统镜像文件进行访问,能够对系统镜像文件中的应用程序安装包执行替换操作的格式。

在此步骤中,服务器对原版本的系统镜像文件进行格式转换,以生成与所述应用程序安装包格式匹配,使得可以将原版本的系统镜像文件中的原版本的的应用程序安装包替换为所述升级版本的应用程序安装包的原版本的系统镜像文件。

s260,将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件。

其中,升级版本的系统镜像文件内包含替换的升级版本的应用程序安装包,以及未替换部分的原版本的系统镜像文件。

在此步骤中,服务器将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件。

s280,根据所述升级版本的系统镜像文件生成升级包。

其中,所述升级包为用于进行系统软件升级的升级包,其可以包括例如usb升级包和ota升级包等等中的一种或多种。

在此步骤中,服务器根据替换得到的所述升级版本的系统镜像文件,生成用于系统软件升级的升级包。

上述升级包的生成方法,对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

在一个实施例中,如图3所示,s240中所述对原版本的系统镜像文件进行格式转换,生成与所述升级版本的应用程序安装包格式匹配的原版本的系统镜像文件包括:

s241,使用格式转换工具将测试通过的所述原版本的系统镜像文件中的文件格式由data格式转换为ext4格式;

其中,以安卓系统为例,编译生成的原版本的系统镜像文件存放在一个特定目录例如emmc目录中,在进行格式转换前,可以对emmc目录中的原版本的系统镜像文件进行测试,如果测试通过,就将这些系统镜像文件作为基础镜像包,之后的软件打包可以基于这些测试通过的基础镜像包进行。

s242,对所述ext4格式的原版本的系统镜像文件进行解压,将解压的ext4格式的原版本的系统镜像文件挂载到临时目录中。

编译生成的安卓系统的镜像文件是data的文件格式,不能直接进行访问替换,上述实施例的技术方案,将原版本的系统镜像文件中的文件格式由data格式转换为ext4格式,解压挂载到临时目录上,从而使得能够对系统镜像文件中的文件执行访问和替换的操作。

在一个实施例中,如图3所示,s260中所述将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件包括:

s261,根据应用程序安装包的名称,将ext4格式的原版本的系统镜像文件中的与升级版本的应用程序安装包的名称相同的原版本的应用程序安装包用升级版本的应用程序安装包替换掉,生成ext4格式的升级版本的系统镜像文件。

上述实施例的技术方案,可以快速地通过安装包名称将相同名称的原版本的系统镜像文件中的原版本的应用程序安装包替换为升级版本的应用程序安装包,替换方式简便易于实现。

在将系统镜像文件进行应用程序的替换后,需要对替换后得到的升级版本的系统镜像文件进行打包,生成用于进行系统软件升级的升级包,而生成的升级包的类型可以包括usb升级包或者ota升级包中的一种或多种,对于不同类型的升级包的打包生成方式,可以有不同的实现方式。

对于usb升级包的生成,如图3所示,在一个实施例中,s280中所述根据所述升级版本的系统镜像文件生成升级包的步骤包括:

s281,将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件;

s282,将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包。

其中,上述将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件的步骤可以通过例如make_ext4fs工具,或者自定义工具等等其它途径实现;上述将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包的步骤可以通过软件升级包制作工具例如bin_generator工具或者自定义工具等等其它途径实现。

上述实施例的技术方案,针对usb升级包的生成,通过格式转换将之前转换解压的ext4格式的升级版本的系统镜像文件重新转换回原来的data格式的升级版本的系统镜像文件,并生成用于整机烧录的usb升级包,实现对usb升级包的快速打包生成。

而对于ota升级包的生成,如图3所示,在一个实施例中,s280中所述根据所述升级版本的系统镜像文件生成升级包的步骤包括:

s283,对原版本的ota升级包进行解压,将原版本的ota升级包中的ext4格式的原版本的系统镜像文件替换为所述ext4格式的升级版本的系统镜像文件,得到ext4格式的升级版本的ota升级包;

s284,对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包。

上述实施例的技术方案,直接将现有的原版本的进行解压,并替换其中ext4格式的原版本的系统镜像文件为所述ext4格式的升级版本的系统镜像文件,再压缩生成用于升级的ota升级包,在原有版本的ota升级包基础上替换升级版本的系统镜像文件部分生成升级的ota升级包,而无需原始编译生成ota升级包,节省了ota升级包的生成时间,提升ota升级包的生成效率。

在一个实施例中,如图3所示,s220中所述对升级版本的应用源码进行编译,生成升级版本的应用程序安装包之后,还包括步骤:s230,使用密钥对所述升级版本的应用程序升级包进行重新签名。

应用程序在安装、升级和权限申请时,系统都需要对应用程序的签名信息进行校验,如果校验到该应用程序不是用特定的密钥进行签名的,上述安装、升级和权限申请等的行为都会失败,因此在生成升级包的过程中,需要对应用进行重新签名。现有技术对应用进行重新签名,一般是在系统软件编译的过程中进行,本发明的上述技术方案,去除了系统软件编译的步骤,而加入了对应用程序升级包进行重新签名的步骤,从而满足对应用程序进行重新签名的安全性校验需求。

在一个实施例中,如图3所示,s284中所述对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包的步骤包括:

s284a,对ext4格式的升级版本的ota升级包进行压缩,使用密钥对ext4格式的升级版本的ota升级包进行重新签名,生成用于升级的ota升级包。

在ota升级包的生成过程中,需要对ota升级包进行重新签名,现有技术一般是在系统软件编译的过程中进行,本发明的上述技术方案,去除了系统软件编译的步骤,而加入了对ota升级包进行重新签名的步骤,从而满足对ota升级包进行重新签名的安全性校验需求。

应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

为了使本发明实施例的技术方案更加清晰明白,下面以一个具体的应用示例来阐述本发明的升级包的生成方法。

如图4所示,本发明应用示例的升级包的生成方法包括如下步骤:

s410,启动软件版本编译;

s420,编译新版本的应用源码生成新版本的apks安装包;

s430,对s420生成的新版本的apks安装包进行重新签名;

s440,对旧版本的system.img系统镜像文件进行测试,将emmc目录中测试通过的system.img系统镜像文件拷贝至工作环境中;

s450,使用simg2img工具将emmc目录中测试通过的system.img系统镜像文件转换为ext4格式的文件,将ext4格式的system.img系统镜像文件挂载到tmp目录。

s460,根据应用编译出来的apks安装包的名称,遍历tmp目录中的apks安装包,将同名的临时目录中的apks安装包用重新签名的新版本的apks安装包替换掉;

s470,使用make_ext4fs工具将tmp目录下的所有文件打包生成一个新版本的system.img系统镜像文件,将该新版本的system.img系统镜像文件存入emmc目录中;

s480,使用bin_generator工具将emmc目录中的所有新版本的system.img系统镜像文件打包生成一个用于整机软件烧录的usb_upgrade.bin的usb升级包。

s490,将旧版本的ota升级包解压,使用tmp目录下的所有文件将ota包中system目录下的文件全部替换掉,再压缩生成一个新版本的ota升级包。

s500,对新版本的ota升级包进行重新签名,生成一个可以用于升级的新版本的ota升级包。

上述应用示例的升级包的生成方法,针对于应用方面需要做点变更,但是系统部分是不需要变动的这种情况,基于测试ok的旧版本的system.img系统镜像文件生成在emmc目录里的img包,因为apk安装包是编译进system.img系统镜像文件里面的,且system.img系统镜像文件是ext4的文件系统格式,所以可以将system.img系统镜像文件挂载出来,然后用新版本的apk安装包把挂载出的system.img系统镜像文件里面旧版本的apk安装包替换掉,然后重新打包回一个新的system.img系统镜像文件,通过bin_generator.jar工具生成一个新的整机软件烧录usb_ugrade.bin文件,并打包生成ota升级包。相比于现有技术通过android编译系统编译生成用于整机软件烧录的usb_ugrade.bin文件和ota升级包的方式需要占用较多的资源耗时较长,上述应用示例的升级包的生成方法,无需重新经过系统编译生成用于整机软件烧录usb_ugrade.bin文件和ota升级包,而是通过替换的方式快速生成用于整机软件烧录usb_ugrade.bin文件和ota升级包,大大提高了系统软件升级包生成和发放的效率。

在一个实施例中,如图5所示,提供了一种升级包的生成装置,包括:应用编译模块510、格式转换模块520、应用替换模块530和升级包生成模块540,其中:

应用编译模块510,用于对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

格式转换模块520,用于对原版本的系统镜像文件进行格式转换,生成与所述升级版本的应用程序安装包格式匹配的原版本的系统镜像文件;

应用替换模块530,用于将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

升级包生成模块540,用于根据所述升级版本的系统镜像文件生成升级包。

上述升级包的生成装置,对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

在一个实施例中,所述升级包生成模块540包括:

格式转换打包模块,用于将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件;

usb升级包生成模块,用于将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包。

在一个实施例中,所述升级包生成模块540包括:

ota升级包解压模块,用于对原版本的ota升级包进行解压,生成ext4格式的原版本的ota升级包;

镜像文件替换模块,用于将ext4格式的原版本的ota升级包中的ext4格式的原版本的系统镜像文件替换为所述ext4格式的升级版本的系统镜像文件,得到ext4格式的升级版本的ota升级包;

ota升级包生成模块,用于对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包。

在一个实施例中,本发明实施例的升级包生成装置,还包括:

应用重签名模块,用于使用密钥对所述升级版本的应用程序升级包进行重新签名。

在一个实施例中,所述ota升级包生成模块进一步用于对ext4格式的升级版本的ota升级包进行压缩,使用密钥对ext4格式的升级版本的ota升级包进行重新签名,生成用于升级的ota升级包。

在一个实施例中,所述格式转换模块520包括:

ext4格式转换模块,用于使用格式转换工具将测试通过的所述原版本的系统镜像文件中的文件格式由data格式转换为ext4格式;

解压挂载模块,用于对所述ext4格式的原版本的系统镜像文件进行解压,将解压的ext4格式的原版本的系统镜像文件挂载到临时目录中。

在一个实施例中,所述应用替换模块530进一步用于根据应用程序安装包的名称,将ext4格式的原版本的系统镜像文件中的与升级版本的应用程序安装包的名称相同的原版本的应用程序安装包用升级版本的应用程序安装包替换掉,生成ext4格式的升级版本的系统镜像文件。

关于升级包的生成装置的具体限定可以参见上文中对于升级包的生成方法的限定,在此不再赘述。上述升级包的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本发明的升级包的生成装置与本发明的升级包的生成方法一一对应,在上述升级包的生成方法的实施例阐述的技术特征及其有益效果均适用于升级包的生成装置的实施例中,特此声明。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现如上任意一个实施例的升级包的生成方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件;

将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

根据所述升级版本的系统镜像文件生成升级包。

上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件;将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对原版本的ota升级包进行解压,生成ext4格式的原版本的ota升级包;将ext4格式的原版本的ota升级包中的ext4格式的原版本的系统镜像文件替换为所述ext4格式的升级版本的系统镜像文件,得到ext4格式的升级版本的ota升级包;对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

使用密钥对所述升级版本的应用程序升级包进行重新签名。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对ext4格式的升级版本的ota升级包进行压缩,使用密钥对ext4格式的升级版本的ota升级包进行重新签名,生成用于升级的ota升级包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

使用格式转换工具将测试通过的所述原版本的系统镜像文件中的文件格式由data格式转换为ext4格式;对所述ext4格式的原版本的系统镜像文件进行解压,将解压的ext4格式的原版本的系统镜像文件挂载到临时目录中。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据应用程序安装包的名称,将ext4格式的原版本的系统镜像文件中的与升级版本的应用程序安装包的名称相同的原版本的应用程序安装包用升级版本的应用程序安装包替换掉,生成ext4格式的升级版本的系统镜像文件。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

对升级版本的应用源码进行编译,生成升级版本的应用程序安装包;

对原版本的系统镜像文件进行格式转换,生成与所述应用程序安装包格式匹配的原版本的系统镜像文件;

将所述格式匹配的原版本的系统镜像文件中原版本的应用程序安装包替换为所述升级版本的应用程序安装包,生成升级版本的系统镜像文件;

根据所述升级版本的系统镜像文件生成升级包。

上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以对升级版本的应用源码进行编译,生成升级版本的应用程序安装包,并通过对原版本的系统镜像文件进行格式转换,将原版本的系统镜像文件中的应用程序安装包替换为升级版本的应用程序安装包,根据替换得到的升级版本的系统镜像文件生成升级包,从而可以仅对应用源码部分进行编译,而无需对系统源码部分进行编译,对于应用部分需要做变更但是系统部分不需要变动的情况下的升级包生成,可以节省系统源码部分进行编译耗费的大量时间和资源,提升系统软件的升级包的生成效率。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将ext4格式的升级版本的系统镜像文件进行格式转换,打包生成data格式的升级版本的系统镜像文件;将data格式的升级版本的系统镜像文件打包生成用于整机软件烧录的usb升级包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对原版本的ota升级包进行解压,生成ext4格式的原版本的ota升级包;将ext4格式的原版本的ota升级包中的ext4格式的原版本的系统镜像文件替换为所述ext4格式的升级版本的系统镜像文件,得到ext4格式的升级版本的ota升级包;对ext4格式的升级版本的ota升级包进行压缩,生成用于升级的ota升级包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

使用密钥对所述升级版本的应用程序升级包进行重新签名。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对ext4格式的升级版本的ota升级包进行压缩,使用密钥对ext4格式的升级版本的ota升级包进行重新签名,生成用于升级的ota升级包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

使用格式转换工具将测试通过的所述原版本的系统镜像文件中的文件格式由data格式转换为ext4格式;对所述ext4格式的原版本的系统镜像文件进行解压,将解压的ext4格式的原版本的系统镜像文件挂载到临时目录中。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据应用程序安装包的名称,将ext4格式的原版本的系统镜像文件中的与升级版本的应用程序安装包的名称相同的原版本的应用程序安装包用升级版本的应用程序安装包替换掉,生成ext4格式的升级版本的系统镜像文件。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1