一种应用程序配置文件的更新方法及装置制造方法及图纸

技术编号:15638780 阅读:49 留言:0更新日期:2017-06-15 19:23
本发明专利技术公开了一种应用程序配置文件的更新方法及装置,涉及计算机技术领域,能够快速更新应用程序的配置文件,节省系统运行时间。所述方法包括:当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据,根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值,对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。本发明专利技术主要用于应用程序配置文件的更新。

【技术实现步骤摘要】
一种应用程序配置文件的更新方法及装置
本专利技术涉及计算机
,特别是涉及一种应用程序配置文件的更新方法及装置。
技术介绍
AndroidManifest.xml是Android程序的全局配置文件,是每个Android程序中必须的文件。它位于开发应用程序的根目录下,描述了程序安装包中的全局数据,包括安装包中的组件、以及各种能够被处理和启动位置等重要信息。AndroidManifest.xml中含有大量的Android程序的配置信息,通过更新配置信息可以实现更新应用行为的结果,如系统权限设置、音量调节等。由于Android应用程序中AndroidManifest.xml配置文件通常采用二进制的方式进行存储,如果直接从程序安装包中解压出配置文件会出现乱码情况,使得系统开发人员无法直接对配置文件进行更新。现有技术中通常采用编译工具对AndroidManifest.xml配置文件反编译成可读文本形式的配置文件,然后再将更新后的可读文本形式的配置文件编译成二进制文件,从而实现对配置文件的更新。然而,在进行配置文件更新的过程中,每次都需要对编译工具反编译后的配置文件进行重新编码、压缩以及签名等操作,占用系统运行时间。
技术实现思路
有鉴于此,本专利技术实施例提供一种应用程序配置文件的更新方法及装置,能够快速更新应用程序的配置文件,节省系统运行时间。为达到上述目的,本专利技术主要提供如下技术方案:一方面,本专利技术实施例提供了一种应用程序配置文件的更新方法,该方法包括:当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据;根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值;对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。另一方面,本专利技术实施例还提供了一种应用程序配置文件的更新装置,该装置包括:解析单元,用于当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据;更新单元,用于根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值;序列化处理单元,用于对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。本专利技术实施例提供的一种应用程序配置文件的更新方法及装置,与现有的采用编译工具对应用程序配置文件进行更新的方式相比,本专利技术实施例当接收到对应用程序配置文件的更新指令时,通过解析应用程序配置文件,得到预设数据结构的中间数据,从而根据更新指令中携带的标签索引,更新标签索引对应中间数据的属性值,无需对翻译工具反编译后的配置文件进行重新编码、压缩以及签名等操作,进而实现对应用程序配置文件的更新,通过对更新后的中间数据进行序列化,能够快速将应用程序配置文件还原成二进制形式,节省了系统运行时间。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种应用程序配置文件的更新方法流程图;图2示出了本专利技术实施例提供的另一种应用程序配置文件的更新方法流程图;图3示出了本专利技术实施例提供的一种应用程序配置文件的更新装置结构示意图;图4示出了本专利技术实施例提供的另一种应用程序配置文件的更新装置结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供一种应用程序配置文件的更新方法,如图1所示,所述方法包括:101、当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据。由于应用程序配置文件中存储有大量安卓应用的配置信息,通常情况,在应用程序需要发布或者升级的情况下,当接收到对应用程序的更新指令时,研发人员通过更新配置文件能够实现新的应用行为,从而实现应用发布或者应用升级。这里预设数据结构的中间数据可以包括文本数组、资源数组以及标签树三部分数据组成,其中,文本数组为专有数据结构的数据,用于存放配置文件中标签的每一个文本,每个标签用文本数组的索引指向文本,资源数组用于存放应用程序配置文件的所有资源,通常为空,标签树为与应用程序配置文件文本中结构相一致的树形结构,以标签为树形结构的节点。通常情况下,应用程序配置文件是以二进制的形式进行存储的,无法直接用文本的方式进行更新,对于本专利技术实施例通过解析应用程序配置文件,得到预设数据结构的中间数据,使得应用程序配置文件能够转换为可以更新的预设数据结构的中间数据。102、根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值。其中,由于应用程序配置文件中包含有大量的配置信息,标签索引用于表明更新配置文件对应的位置,应用程序配置文件的更新指令中携带有需要更新配置文件的标签索引,通过标签索引能够寻找到待更新配置文件的位置。对于本专利技术实施例,更新标签索引对应中间数据的属性信息可以包括但不局限于下述实现方式,首先通过标签索引查找到该标签索引对应中间数据的位置,这里中间数据的位置通常为文本数组或标签树中对应的位置,对于不同标签类型对应中间数据的位置有所不同,例如,当标签类型为数字时,可以直接在标签树中对标签的属性值进行修改,从而更新对应位置中间数据的属性值,当标签类型为文本时,可以通过查找标签树中对应文本数组的文本索引,从而更新文本索引对应文本数组的属性值,同时对应更新标签树的文本索引。需要说明的是,这里可以通过在对应位置中间数据的属性信息处添加数据、修改数据或者删除数据的方式来实现更新操作,本专利技术实施例对更新应用程序程序配置文件的具体内容不进行限定。103、对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。这里对更新后的中间数据进行序列化的过程主要包括对文本数组进行序列化、对资源数组进行序列化以及对标签树进行序列化,由于资源数组在转换为预设数据结构的中间数据过程中并未发生改动,因此对更新后的中间数据进行序列化的过程主要包括对文本数组进行序列化以及对标签树进行序列化。这里对更新后的中间数据进行序列化的目的为将更新后的中间数据还原为二进制形式的应用程序配置文件,进一步将序列化的文本数组、未处理的资源数组以及序列化的标签树一起写入到目标文件中,可以得到更新后的应用程序配置文件。这里需要说明的是,在写入目标文件的过程中,为了进一步区分不同的文件类型,还需要写入目标文件的魔术数字以及更新后的应用程序配置文件的整体大小。本专利技术实施例提供的一种应用程序配置文件的更新方法,与现有的采用编译工具对应用程序配置文件进行更新的方式相比,本专利技术实施例当接收到对应用程序配置文件的更新指令时,通过解析应用程序配置文件,得到预设数本文档来自技高网...
一种应用程序配置文件的更新方法及装置

【技术保护点】
一种应用程序配置文件的更新方法,其特征在于,包括:当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据;根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值;对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。

【技术特征摘要】
1.一种应用程序配置文件的更新方法,其特征在于,包括:当接收到对应用程序配置文件的更新指令时,解析所述应用程序配置文件,得到预设数据结构的中间数据;根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值;对更新后的中间数据进行序列化,得到更新后的应用程序配置文件。2.根据权利要求1所述的方法,其特征在于,所述解析所述应用程序配置文件,得到预设数据结构的中间数据包括:加载所述应用程序配置文件中的二进制数据;将所述二进制数据转换为预设数据结构的中间数据。3.根据权利要求1-2中任一项所述的方法,其特征在于,所述加载所述应用程序配置文件中的二进制数据包括:根据所述应用程序配置文件的魔术数字读取应用程序配置文件的文件类型;根据所述配置文件的文件类型加载所述应用程序配置文件中的二进制数据。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述预设数据结构的中间数据包括文本数组、资源数组以及标签树。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述更新指令中携带的标签索引,更新所述标签索引对应所述中间数据的属性值包括:遍历所述标签树,查找所述标签索引在所述标签树中对应的属性类型;根据所述属性类型,更新所述标签索引对应所述中间数据的属性值。6.根据权利要求1-5中任一项所述的方法,其特征在于,若所述属性类型为文本类型时,所述更新所述标签索引对应所述中间数据的属性值包括...

【专利技术属性】
技术研发人员:焦阳郭伟杜乐
申请(专利权)人:光锐恒宇北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1