System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种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、获取预设的包名配置信息,对各个所述第
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任意
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1-5任意一项所述的AAR包处理方法。
...【技术特征摘要】
1.一种aar包处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取每个所述aar包中的资源文件和各个class文件,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于预设的接口配置文件,对各个所述class文件进行数据筛除处理,得到包含必要数据的各个第一处理class文件,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于预设的资源配置文件以及各个所述第一处理class文件,获取必要资源描述信息,包括:
5.根据权利要求1所述的方法,其特征在于,所述对所述必要资源文件和各个所述第二处理class文件进行合并处理,得到合...
【专利技术属性】
技术研发人员:刘业武,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。