一种升级包生成方法和装置制造方法

文档序号:6634908阅读:161来源:国知局
一种升级包生成方法和装置制造方法
【专利摘要】本发明适用于操作系统领域,提供了一种升级包生成方法和装置;从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件;在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本对所述第一文件进行备份;在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本将已备份的第一文件复制到升级后的系统文件夹中。这样,系统升级后仍然能够像系统升级前一样正常从系统文件夹中调用与非系统应用相关的文件,正常运行该非系统应用。
【专利说明】一种升级包生成方法和装置

【技术领域】
[0001]本发明属于操作系统领域,尤其涉及一种升级包生成方法和装置。

【背景技术】
[0002]安卓系统Android,是基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。随着安卓系统的普及,针对安卓系统开发的系统程序逐渐
>曰夕O
[0003]对于已开发的系统程序,可能根据使用场合的改变,需要升级。但在目前,第三方基于安卓系统开发出丰富的应用;通常安装第三方开发的应用程序时都需要对系统文件夹(system)进行环境配置,才能在完成第三方应用的安装之后,正常使用该第三方应用。但在使用现有的全量升级包进行系统升级时,会将升级前的系统文件夹进行数据清除,然后将全量升级包中的系统文件夹替换升级前的系统文件夹;从而升级后的系统文件夹没有包含与第三方应用对应的配置文件,升级后无法正常使用已安装的第三方应用。


【发明内容】

[0004]本发明的目的在于提供一种升级包生成方法和装置,以解决现有技术在使用现有的全量升级包升级之后,因升级过程中清除了与非系统应用相关的文件而导致在升级后无法正常使用该非系统应用的问题。
[0005]第一方面,本发明提供一种升级包生成方法,所述升级包生成方法包括:
[0006]从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件;
[0007]在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本对所述第一文件进行备份;
[0008]在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本将已备份的第一文件复制到升级后的系统文件夹中。
[0009]第二方面,本发明提供一种升级包生成装置,所述升级包生成装置包括解析单元、备份脚本添加单元和还原脚本添加单元;
[0010]所述解析单元用于:从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件;
[0011]所述备份脚本添加单元用于:在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本对所述第一文件进行备份;
[0012]所述还原脚本添加单元用于:在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本将已备份的第一文件复制到升级后的系统文件夹中。
[0013]本发明的有益效果:对系统的全量升级的过程中,首先执行全量升级包中添加备份脚本对与非系统应用相关的第一文件进行备份;继而,执行所述全量升级包中的升级文件进行系统升级并所述全量升级包中的系统文件夹以替换升级前中的系统文件夹;继而,执行所述全量升级包中的还原脚本将已备份的第一文件复制到升级后的系统文件夹中;使得系统升级后仍然能够像系统升级前一样正常从系统文件夹中调用与非系统应用相关的文件,正常运行该非系统应用。

【专利附图】

【附图说明】
[0014]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本发明实施例提供的升级包生成方法的工作流程图;
[0016]图2是本发明实施例提供的升级包生成方法的一种优化工作流程图;
[0017]图3是本发明实施例提供的升级包生成装置的组成结构;
[0018]图4是本发明实施例提供的升级包生成装置的一种优化组成结构。

【具体实施方式】
[0019]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0020]本发明实施例以安卓系统为例对本发明的实施过程进行解释,当然,本发明提供的升级包生成方法还可适用于其他操作系统。
[0021 ] 在本发明实施例中,对如何生成全量升级包不做限定,当然包括对采用哪种算法(如压缩算法)生成全量升级包不做限定。
[0022]因对系统进行全量升级的过程中,会删除系统文件夹中的所有文件,并将全量升级包中的系统文件夹替换升级如的系统文件夹以完成系统升级;为避免完成升级后需针对非系统应用一一重新安装以在升级后的系统文件夹中添加与非系统应用相关的文件,提供了升级包生成方法。
[0023]图1示出了本发明实施例提供的升级包生成方法的工作流程,为了便于描述,仅不出了与本发明实施例相关的部分。
[0024]本发明实施例提供的所述升级包生成方法,如图1所示,所述升级包生成方法包括步骤Al、步骤A2和步骤A3。
[0025]步骤Al,从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件。
[0026]在本发明实施例中,为电子设备安装操作系统之后,会自动生成系统文件夹,该系统文件夹中包括:存储应用程序的文件夹(\system\app)、存储配置文件的文件夹(\system\etc)、存储字体文件的文件夹(\system\fonts)、存储库文件的文件夹(\system\lib)、存储音频文件的文件夹(\system\sounds)、存储视频文件的文件夹(\system\media)等等。
[0027]其中,存储应用程序的文件夹(\system\app)中存储的应用程序,大都是操作系统自带的应用程序,但用户也可人为将第三方开发的应用程序存储在该文件夹(\systenAapp) ο
[0028]其中,存储配置文件的文件夹(\system\etc)中存储有与操作系统相关的配置文件;成功安装第三方应用的应用程序之后,会在该存储配置文件的文件夹(\system\etc)添加与该第三方应用对应的配置文件,通过该配置文件可配制出该第三方应用所需的运行环境,使得该第三方应用能够在电子设备上正常运行。
[0029]其中,存储字体文件的文件夹(\system\fonts)中存储有操作系统自带的字体文件,可通过该字体文件配置操作系统的字体,当然,用户可根据需要将第三方开发的字体文件添加到该文件夹(\system\fonts)中。
[0030]其中,存储库文件的文件夹(\system\lib)中存储有操作系统自带的库文件,操作系统运行时需调用该自带的库文件才能正常运行,当然,用户可根据需要将第三方开发的库文件添加到该文件夹(\system\lib)中,使得第三方可以调用添加的库文件和/或自带的库文件进行二次开发;当然第三方应用运行时仍需调用添加的库文件和/或自带的库文件。
[0031]其中,存储音频文件的文件夹(\system\sounds)中存储有操作系统自带的音频文件;另外,用户也可将下载的第三方制作的音频文件存储到该文件夹(\system\sounds)中。
[0032]其中,存储视频文件的文件夹(\system\media)中存储有操作系统自带的视频文件;另外,用户也可将下载的第三方制作的视频文件存储到该文件夹(\system\media)中。
[0033]在本发明实施例中,将系统文件夹中不是操作系统自带的文件或者不是与操作系统相关的配置文件统称为所述第一文件,即所述第一文件具体是指:并非与操作系统自带的应用相关的文件。
[0034]在制作全量升级包时,预先从升级前的系统文件夹(\system)中进行遍历查找,查找出所述第一文件。
[0035]作为一优选实施方式,另外建立一个文件夹(优选地,在非系统盘建立的一个件夹),将查找到的所述第一文件存储到该文件夹中,避免执行与操作系统相关的指令时导致所述第一文件的错误删除或更改。
[0036]步骤A2,在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本对所述第一文件进行备份。
[0037]为避免:对系统进行全量升级的升级过程中,因清除了升级前的系统文件夹中的所述第一文件,使得成功升级后无法调用所述第一文件而导致不能正常运行非系统应用;在本发明实施例在全量升级包中添加备份脚本。
[0038]进而在以所述全量升级包中的升级文件升级之前,先执行全量升级包的备份脚本:将第一文件进行备份;优选地,执行全量升级包的备份脚本时将第一文件复制到非系统盘。
[0039]步骤A3,在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本将已备份的第一文件复制到升级后的系统文件夹中。
[0040]对应地,本发明实施例在所述全量升级包中添加还原脚本。
[0041]进而,执行所述全量升级包中的升级文件完成升级,包括:在全量升级中将升级前的系统文件夹删除,将所述全量升级包中的系统文件夹替换升级前的系统文件夹以建立升级后的系统文件夹。
[0042]在以所述全量升级包中的升级文件升级之后,执行全量升级包的还原脚本:将先前备份的第一文件复制到升级后的系统文件夹。
[0043]作为本发明实施例一实施方式,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括:从升级前的系统文件夹中解析出与第三方应用相关的配置文件和/或库文件。
[0044]对于升级前的系统文件夹中的与第三方应用相关的配置文件,用于配置第三方应用的正常使用所需的环境(例如环境变量的重新设置,环境变量的添加)。
[0045]一旦在全量升级过程中将与第三方应用相关的配置文件删除,将导致第三方应用无法正常或正常启动。因全量升级是必须删除升级前的系统文件夹的,鉴于此,本实施方式在全量升级之前解析出与第三方应用相关的配置文件,并在升级过程中执行备份脚本将该与第三方应用相关的配置文件备份,即将该与第三方应用相关的配置文件复制到其他文件夹(优选地,复制到非系统盘)。
[0046]进而在全量升级中将升级前的系统文件夹中的所有文件删除(包括删除该与第三方应用相关的配置文件),将所述全量升级包中的系统文件夹替换升级前的系统文件夹以建立升级后的系统文件夹;然后执行还原脚本将备份的该与第三方应用相关的配置文件复制到升级后的系统文件夹中;这样,完成系统升级之后,可直接从升级后的系统文件夹中对应位置找到与其相关的配置文件,正常运行第三方应用。
[0047]类似地,所述与第三方应用相关的库文件,包括链接文件、类文件、方法文件等等;通常第三方应用都是基于库文件所开发的,所以如需正常调用并运行该第三方应用,必须保证该库文件在系统文件夹中存在。
[0048]进而,在全量升级之前解析出与第三方应用相关的库文件,并在升级过程中执行备份脚本将该与第三方应用相关的库文件备份,即将该与第三方应用相关的库文件复制到其他文件夹(优选地,复制到非系统盘)
[0049]进而在全量升级中将升级前的系统文件夹中的所有文件删除(包括删除该与第三方应用相关的库文件),将所述全量升级包中的系统文件夹替换升级前的系统文件夹以建立升级后的系统文件夹;然后执行还原脚本将备份的该与第三方应用相关的库文件复制到升级后的系统文件夹中;这样,完成系统升级之后,可直接从升级后的系统文件夹中对应位置找到与其相关的库文件,正常运行第三方应用。
[0050]作为本发明实施例一实施方式,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括:
[0051]从升级前的系统文件夹中解析出与第三方应用相关的应用程序。
[0052]在本实施方式中,用户可将第三方开发的应用程序直接存储在上述的存储应用程序的文件夹(\system\app)中;但对于存储在该文件夹(\system\app)中的应用程序,因在全量升级中会整体删除系统文件夹(\system)(当然也同时会删除该文件夹(\system\app)中第三方开发的应用程序)。
[0053]因此,本实施方式在升级前需从文件夹(\system\app)中解析出与第三方应用相关的应用程序,将该应用程序相关的文件作为第一文件。
[0054]进而在全量升级中执行所述备份脚本,将第一文件进行备份时同时完成对该应用程序相关的文件的备份;继而执行所述全量升级包中的升级文件升级,将所述全量升级包中的系统文件夹替换升级前的系统文件夹并得到升级后的系统文件夹,将备份的第一文件进行复制到升级后的系统文件夹时同时完成将该应用程序相关的文件向升级后的系统文件夹的复制。
[0055]作为本发明实施例一实施方式,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括:
[0056]从升级前的系统文件夹中解析出与外部设备相关的配置文件。
[0057]其中,本实施方式所述的外部设备是指:需要与电子设备进行数据传输的设备。
[0058]通常,需要预先在该电子设备中安装与该外部设备相关的配置文件,电子设备才能正确与该外部设备建立数据连接,进行数据交互。具体地,需要预先在该电子设备中系统文件夹的所述存储配置文件的文件夹(\system\etc)中添加与该外部设备相关的配置文件。
[0059]与上述类似,在对系统进行全量升级的过程中,会删除系统文件夹,因此如果期望全量升级后能够从升级后的系统文件夹中找到与该外部设备相关的配置文件;在需在全量升级的过程中将与该外部设备相关的配置文件作为所述第一文件。
[0060]进而在全量升级中执行所述备份脚本,将第一文件进行备份时同时完成对该与该外部设备相关的配置文件的备份;继而执行所述全量升级包中的升级文件升级,将所述全量升级包中的系统文件夹替换升级前的系统文件夹并得到升级后的系统文件夹,将备份的第一文件进行复制到升级后的系统文件夹时同时完成将该与该外部设备相关的配置文件向升级后的系统文件夹的复制。
[0061]图2示出了本发明实施例提供的升级包生成方法的工作流程,为了便于描述,仅不出了与本发明实施例相关的部分。
[0062]作为本发明实施例一实施方式,如图2所示,所述从系统文件夹中解析出第一文件这一步骤,具体包括步骤All和步骤A12。
[0063]步骤All,从升级前的系统文件夹中解析出所有与非系统应用相关的第二文件;
[0064]步骤A12,从所有的第二文件中筛选出两两不相同的文件,将筛选出的文件作为所述第一文件。
[0065]在本实施方式中,只要不是与系统应用相关的文件,都从升级前的系统文件夹中解析出来;并将解析出来的所有文件作为第二文件。
[0066]因第二文件中可能包含有重复的数据甚至是重复的文件,为节省备份所占用的存储空间,从第二文件中去除冗余的数据和文件,将去冗余之后的数据和文件作为第一文件。
[0067]本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令和相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括R0M/RAM、磁盘、光盘等。
[0068]需要说明的是,本发明实施例提供的升级包生成装置与本发明实施例提供的升级包生成方法相互适用。
[0069]图3示出了本发明实施例提供的升级包生成装置的组成结构,为了便于描述,仅不出了与本发明实施例相关的部分。
[0070]本实施例提供的升级包生成装置,如图3所示,所述升级包生成装置包括解析单元11、备份脚本添加单元12和还原脚本添加单元13 ;
[0071]所述解析单元11用于:从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件;
[0072]所述备份脚本添加单元12用于:在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本对所述第一文件进行备份;
[0073]所述还原脚本添加单元13用于:在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本将已备份的第一文件复制到升级后的系统文件夹中。
[0074]作为本发明实施例一【具体实施方式】,所述解析单元11具体用于:从升级前的系统文件夹中解析出与第三方应用相关的配置文件和/或库文件。
[0075]作为本发明实施例一【具体实施方式】,所述解析单元11具体用于:从升级前的系统文件夹中解析出与第三方应用相关的应用程序。
[0076]作为本发明实施例一【具体实施方式】,所述解析单元11具体用于:从升级前的系统文件夹中解析出与外部设备相关的配置文件。
[0077]图4示出了本发明实施例提供的升级包生成装置的一种优化组成结构,为了便于描述,仅不出了与本发明实施例相关的部分。
[0078]作为本发明实施例一【具体实施方式】,如图4所示,所述解析单元11具体包括子解析单元111和筛选单元112 ;
[0079]所述子解析单元111用于:从升级前的系统文件夹中解析出所有与非系统应用相关的第二文件;
[0080]所述筛选单元112用于:从所有的第二文件中筛选出两两不相同的文件,将筛选出的文件作为所述第一文件。
[0081]本领域技术人员可以理解为本发明实施例提供的升级包生成装置所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0082]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。
【权利要求】
1.一种升级包生成方法,其特征在于,所述升级包生成方法包括: 从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件; 在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本:对所述第一文件进行备份; 在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本:将已备份的第一文件复制到升级后的系统文件夹中。
2.如权利要求1所述的升级包生成方法,其特征在于,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括: 从升级前的系统文件夹中解析出与第三方应用相关的配置文件和/或库文件。
3.如权利要求1所述的升级包生成方法,其特征在于,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括: 从升级前的系统文件夹中解析出与第三方应用相关的应用程序。
4.如权利要求1所述的升级包生成方法,其特征在于,所述从升级前的系统文件夹中解析出第一文件这一步骤,具体包括: 从升级前的系统文件夹中解析出与外部设备相关的配置文件。
5.如权利要求1至4任一项所述的升级包生成方法,其特征在于,所述从系统文件夹中解析出第一文件这一步骤,具体包括: 从升级前的系统文件夹中解析出所有与非系统应用相关的第二文件; 从所有的第二文件中筛选出两两不相同的文件,将筛选出的文件作为所述第一文件。
6.一种升级包生成装置,其特征在于,所述升级包生成装置包括解析单元、备份脚本添加单元和还原脚本添加单元; 所述解析单元用于:从升级前的系统文件夹中解析出第一文件,所述第一文件是指与非系统应用相关的文件; 所述备份脚本添加单元用于:在全量升级包中添加备份脚本,使得在以所述全量升级包中的升级文件升级之前执行所述备份脚本:对所述第一文件进行备份; 所述还原脚本添加单元用于:在所述全量升级包中添加还原脚本,使得在以所述全量升级包中的升级文件升级之后执行所述还原脚本:将已备份的第一文件复制到升级后的系统文件夹中。
7.如权利要求6所述的升级包生成装置,其特征在于, 所述解析单元具体用于:从升级前的系统文件夹中解析出与第三方应用相关的配置文件和/或库文件。
8.如权利要求6所述的升级包生成装置,其特征在于, 所述解析单元具体用于:从升级前的系统文件夹中解析出与第三方应用相关的应用程序。
9.如权利要求6所述的升级包生成装置,其特征在于, 所述解析单元具体用于:从升级前的系统文件夹中解析出与外部设备相关的配置文件。
10.如权利要求6至9任一项所述的升级包生成装置,其特征在于,所述解析单元具体包括子解析单元和筛选单元; 所述子解析单元用于:从升级前的系统文件夹中解析出所有与非系统应用相关的第二文件; 所述筛选单元用于:从所有的第二文件中筛选出两两不相同的文件,将筛选出的文件作为所述第一文件。
【文档编号】G06F9/445GK104331311SQ201410665456
【公开日】2015年2月4日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】田小华 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1