System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种AAR包处理方法及装置、存储介质及电子设备制造方法及图纸_技高网

一种AAR包处理方法及装置、存储介质及电子设备制造方法及图纸

技术编号:42851805 阅读:17 留言:0更新日期:2024-09-27 17:19
本发明专利技术提供一种AAR包处理方法及装置、存储介质及电子设备,包括:对待合并的各个AAR包解析,获取各个AAR包中的资源文件和class文件,根据接口配置文件对各个class文件进行数据筛除处理,得到包含必要数据的class文件,基于包含必要数据的class文件和资源配置文件获取必要资源描述信息,基于必要资源描述信息删除资源文件中的非必要资源,得到必要资源文件,将包含必要数据的class文件统一包名前缀后和必要资源文件生成合并ARR包,有效删除各个AAR包中的非必要数据,使得生成的合并AAR中仅包含必要数据,从而得到精简的合并AAR包,缩小合并AAR包的体积。

【技术实现步骤摘要】

本专利技术涉及计算机,特别涉及一种aar包处理方法及装置、存储介质及电子设备。


技术介绍

1、在进行android工程开发中,通常通过aar方式将代码和资源打成一个包,即aar包(java archive),然后将aar包提供给使用方使用。android的应用在开发时,涉及的aar包比较多,使用方在应用时,需要向使用方提供多个aar包,不便于管理,所以要对aar包进行合并。

2、现有的aar包合并的过程,只是简单的把所有的aar包中的内容堆积合并,不做任何处理,存在大量的赘余代码和资源,导致合并后的aar包的体积很大。


技术实现思路

1、有鉴于此,本专利技术实施例提供一种aar包处理方法及装置、存储介质及电子设备,应用本专利技术提供的方法可以将待合并的aar包中的无用数据删除,缩小合并后的aar包的体积。

2、为实现上述目的,本专利技术实施例提供如下技术方案:

3、一种aar包处理方法,包括:

4、获取待合并的各个aar包,并获取每个所述aar包中的资源文件和各个class文件;

5、基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件;

6、基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,并基于所述必要资源描述信息,保留各个所述资源文件中的必要资源,得到必要资源文件;

7、获取预设的包名配置信息,对各个所述第一处理class文件进行包名修改,得到修改包名后的各个第二处理class文件;

8、对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合并aar包。

9、上述的方法,可选的,所述获取每个所述aar包中的资源文件和各个class文件,包括:

10、对每个所述aar包进行解压,得到每个所述aar包的资源文件和.jar文件;

11、对每个所述.jar文件进行解析,获取每个所述.jar文件中的各个class文件。

12、上述的方法,可选的,所述基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件,包括:

13、基于所述接口配置文件,将各个所述class文件中非必要的class文件删除,并将剩余的class文件均确定为待筛查class文件;

14、对于每个所述待筛查class文件,基于所述接口配置文件,确定所述筛查class文件是否满足预设的代码删减条件;

15、当所述待筛查class文件满足所述代码删减条件时,对所述待筛查class文件的代码进行删减,并将删减代码后的待筛查class文件确定为第一处理class文件;

16、当所述待筛查class文件不满足所述代码删减条件时,直接将该待筛查class文件确定为第一处理class文件。

17、上述的方法,可选的,所述基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,包括:

18、基于各个所述第一处理class文件中的代码,确定每个所述第一处理class文件所应用的资源的信息;

19、将每个所述第一处理class文件所应用的资源的信息添加至所述资源配置文件中,得到必要资源描述信息。

20、上述的方法,可选的,所述对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合并aar包,包括:

21、将各个所述第二处理class文件进行封装,得到合并.jar文件;

22、将所述合并.jar文件和所述必要资源文件压缩,得到合并aar包。

23、一种aar包处理装置,包括:

24、第一获取单元,用于获取待合并的各个aar包,并获取每个所述aar包中的资源文件和各个class文件;

25、删除单元,用于基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件;

26、第二获取单元,用于基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,并基于所述必要资源描述信息,保留各个所述资源文件中的必要资源,得到必要资源文件;

27、第三获取单元,用于获取预设的包名配置信息,对各个所述第一处理class文件进行包名修改,得到修改包名后的各个第二处理class文件;

28、合并单元,用于对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合并aar包。

29、上述的装置,可选的,所述第一获取单元,包括:

30、解压子单元,用于对每个所述aar包进行解压,得到每个所述aar包的资源文件和.jar文件;

31、解析子单元,用于对每个所述.jar文件进行解析,获取每个所述.jar文件中的各个class文件。

32、上述的装置,可选的,所述删除单元,包括:

33、删除子单元,用于基于所述接口配置文件,将各个所述class文件中非必要的class文件删除,并将剩余的class文件均确定为待筛查class文件;

34、删减子单元,用于对于每个所述待筛查class文件,基于所述接口配置文件,确定所述筛查class文件是否满足预设的代码删减条件;当所述待筛查class文件满足所述代码删减条件时,对所述待筛查class文件的代码进行删减,并将删减代码后的待筛查class文件确定为第一处理class文件;当所述待筛查class文件不满足所述代码删减条件时,直接将该待筛查class文件确定为第一处理class文件。

35、上述的装置,可选的,所述第二获取单元,包括:

36、确定子单元,用于基于各个所述第一处理class文件中的代码,确定每个所述第一处理class文件所应用的资源的信息;

37、添加子单元,用于将每个所述第一处理class文件所应用的资源的信息添加至所述资源配置文件中,得到必要资源描述信息。

38、上述的装置,可选的,所述合并单元,包括:

39、封装子单元,用于将各个所述第二处理class文件进行封装,得到合并.jar文件;

40、压缩子单元,用于将所述合并.jar文件和所述必要资源文件压缩,得到合并aar包。

41、一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上所述的aar包处理方法。

42、一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上所述的aar包处理方法。

43、与现有技术相比,本专利技术具有以下优点:

44、本专利技术提供一种aar包处理方法及装置、存储介本文档来自技高网...

【技术保护点】

1.一种AAR包处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取每个所述AAR包中的资源文件和各个class文件,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,包括:

5.根据权利要求1所述的方法,其特征在于,所述对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合并AAR包,包括:

6.一种AAR包处理装置,其特征在于,包括:

7.根据权利要求6所述的装置,其特征在于,所述第一获取单元,包括:

8.根据权利要求6所述的装置,其特征在于,所述删除单元,包括:

9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1-5任意一项所述的AAR包处理方法。

10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1-5任意一项所述的AAR包处理方法。

...

【技术特征摘要】

1.一种aar包处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取每个所述aar包中的资源文件和各个class文件,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,包括:

5.根据权利要求1所述的方法,其特征在于,所述对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合...

【专利技术属性】
技术研发人员:刘业武
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:

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

1