一种多组件合并打包方法及装置制造方法及图纸

技术编号:27974706 阅读:19 留言:0更新日期:2021-04-06 14:08
本发明专利技术提供一种多组件合并打包方法及装置,在触发bundleReleaseAar任务时,对预先配置的多组件进行编译,得到主组件所依赖的每一子组件生成的压缩包aar并解压缩,得到的文件缓存于主组件下的目标文件夹,调用预设的合并函数,在目标文件夹的路径下,完成文件合并之后执行bundleReleaseAar任务,根据目标文件夹生成目标压缩包aar。通过上述方案,针对不同产品的SDK的开发,无需重复开发,只需配置不同的module完成对SDK的打包,从而利于SDK的管理和集成。此外,配置不同的module就能完成对SDK的打包,减少代码的耦合性,提高代码复用性,提高开发效率和迭代速度。

【技术实现步骤摘要】
一种多组件合并打包方法及装置
本专利技术涉及信息处理
,尤其涉及一种多组件合并打包方法及装置。
技术介绍
软件开发工具包(SoftwareDevelopmentKit,SDK)是指为了特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android平台开发SDK时通过组件化开发各组件,并将各组件打包成SDK,SDK中每一个组件对应一个目标压缩包aar。第三方的应用将SDK进行输出,SDK中会包含多个aar,若使用SDK的功能,则需同时依赖于多个aar才能实现,从而不利于SDK包的管理和集成。因此,现有开发SDK的方式不利于SDK的管理和集成。
技术实现思路
有鉴于此,本专利技术公开了一种多组件合并打包方法,利于SDK的管理和集成,且能减少代码的耦合性,提高代码复用性,提高了开发效率和迭代速度。为实现上述目的,本专利技术实施例提供如下技术方案:本专利技术第一方面公开了一种多组件合并打包方法,所述方法包括:在触发bundleReleaseAar任务时,根据预先本文档来自技高网...

【技术保护点】
1.一种多组件合并打包方法,其特征在于,所述方法包括:/n在触发bundleReleaseAar任务时,根据预先配置的插件对预先配置的多组件进行编译,得到主组件所依赖的每一子组件生成的压缩包aar;/n对生成的所有压缩包aar进行解压缩,并将解压缩得到的文件缓存于所述主组件下的目标文件夹;/n根据文件类型调用预设的合并函数,在所述目标文件夹的路径下,对所述解压缩得到的文件进行合并;/n在完成文件合并之后,执行所述bundleReleaseAar任务,根据所述目标文件夹生成目标压缩包aar。/n

【技术特征摘要】
1.一种多组件合并打包方法,其特征在于,所述方法包括:
在触发bundleReleaseAar任务时,根据预先配置的插件对预先配置的多组件进行编译,得到主组件所依赖的每一子组件生成的压缩包aar;
对生成的所有压缩包aar进行解压缩,并将解压缩得到的文件缓存于所述主组件下的目标文件夹;
根据文件类型调用预设的合并函数,在所述目标文件夹的路径下,对所述解压缩得到的文件进行合并;
在完成文件合并之后,执行所述bundleReleaseAar任务,根据所述目标文件夹生成目标压缩包aar。


2.根据权利要求1所述的方法,其特征在于,所述预先配置插件和多组件的过程包括:
确定生成SDK所需的主组件;
在所述主组件中配置Gradle插件,所述Gradle插件用于为所述主组件提供合并功能;
基于预设的embed关键字确定所述主组件所依赖的子组件,所述预设的embed关键字用于指示所述主组件所依赖的需要合并的子组件。


3.根据权利要求1所述的方法,其特征在于,所述根据文件类型调用预设的合并函数,在所述目标文件夹的路径下,对所述解压缩得到的文件进行合并,包括:
针对class.jar类型的文件,调用processClassesAndJars函数,将class.jar文件合并至所述主组件的javac文件夹内;
针对AndroidManifest.xml文件,调用processManifest函数,将所述子组件的AndroidManifest.xml合并至所述主组件的library_manifest文件夹内,所述processManifest函数用于利用ManifestMerger2.Invoker类合并AndroidManifest.xml,使用addManifestProviders函数,将所述AndroidManifest.xml的文件路径添加至ManifestMerger2.Invoker对象中,调用merge函数将所述ManifestMerger2.Invoker对象合并至所述主组件的library_manifest文件夹内;
针对缓存res资源文件的待合并文件夹,调用processResourcesAndR,将所述res资源文件的合并路径指向所述主组件的目标压缩包aar;
针对缓存assets资源文件的待合并文件夹,调用processAssets,将所述assets资源文件的合并路径指向所述主组件的目标压缩包aar;
针对缓存jni资源文件的待合并文件夹,调用processJniLibs,将所述jni资源文件的合并路径指向所述主组件的目标压缩包aar。


4.根据权利要求3所述...

【专利技术属性】
技术研发人员:蔡马坤
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:北京;11

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

1