[发明专利]AAR修改构建方法、装置、电子设备和存储介质在审
申请号: | 202011280255.X | 申请日: | 2020-11-16 |
公开(公告)号: | CN112416372A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 胡昊 | 申请(专利权)人: | 五八同城信息技术有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/72;G06F16/16;G06F16/172 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | aar 修改 构建 方法 装置 电子设备 存储 介质 | ||
本发明提供了一种AAR修改构建方法、装置、电子设备和存储介质,该方法包括:在执行APK打包的过程中,获取待修改的目标AAR对应的目标AAR标识和修改指令;根据所述目标AAR标识,在构建工具的缓存路径下获取所述目标AAR;根据所述修改指令,对所述目标AAR下的目标资源文件进行修改,得到修改后的目标AAR;使用所述修改后的目标AAR执行APK打包。本发明执行APK打包的过程中可以依据构建工具的缓存路径对目标AAR进行修改,提高了AAR修改构建的灵活性和通用性,而且不需要插入代码,降低了代码侵入性。
技术领域
本发明涉及Android技术领域,特别是涉及一种AAR修改构建方法、装置、电子设备和存储介质。
背景技术
Android的打包过程大概如下:1)打包资源文件,生成R.java文件和resources.arsc文件;2)处理aidl文件,生成相应的.java文件;3)编译工程中src、R.java、AIDL生成的java源码,生成.class文件;4)利用Dex将上一步生成的.class文件,生成classes.dex文件;5)打包生成apk;6)对apk文件进行签名以及签名的对齐处理。
随着工程越来越大,Android项目中依赖的AAR(如上述的R.java文件和aidl文件等)也会越来越多,需要频繁的执行上述流程。为了能够加快打包时间,每个步骤都需要进行优化,Gradle提供了特有的缓存机制,在不改变任何工程配置的情况下,依赖缓存的AAR,可以完成快速编译打包。其中,AAR(Android Archive)是压缩包的一种,是Android库项目的二进制归档文件,包含class以及res等资源文件。
但是在实际的使用场景中,有时需要在打包的过程中修改AAR中的代码,比如删除某些资源文件,或者将它的某些文件中的内容给替换掉。现有技术中,是采用在生成AAR之前进行替换的方式,可以利用Gradle在执行打包的准备阶段,在生成目标AAR之前对目标资源文件进行替换。这种方式需要提前写好配置文件,一旦写好配置在运行过程中即不可修改,而且需要预先插入很多代码,不够灵活,通用性不强,而且代码侵入性较强。例如,需要删除多个APK下的某个AAR中的so文件,那么就需要在每个工程下都添加代码,代码侵入性较强。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种AAR修改构建方法、装置、电子设备和存储介质。
依据本发明的第一方面,提供了一种AAR修改构建方法,包括:
在执行APK打包的过程中,获取待修改的目标AAR对应的目标AAR标识和修改指令;
根据所述目标AAR标识,在构建工具的缓存路径下获取所述目标AAR;
根据所述修改指令,对所述目标AAR下的目标资源文件进行修改,得到修改后的目标AAR;
使用所述修改后的目标AAR执行APK打包。
可选的,所述根据所述修改指令,对所述目标AAR下的目标资源文件进行修改,得到修改后的目标AAR,包括:
对所述目标AAR进行解压,得到所述目标AAR中的资源文件;
根据所述修改指令,确定所述资源文件中待修改的目标资源文件,并对所述目标资源文件进行修改;
对修改后的目标资源文件和其他资源文件进行压缩,生成修改后的目标AAR。
可选的,还包括:
在对所述目标资源文件进行修改前,对所述目标AAR进行备份;
在APK打包成功后,删除所述修改后的目标AAR。
可选的,所述构建工具为Gradle;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八同城信息技术有限公司,未经五八同城信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011280255.X/2.html,转载请声明来源钻瓜专利网。