Android 多module合并打包笔记

本文详述了Android项目中多module打包成aar的三种方法:手动合并、转化为Java module和利用jcenter管理依赖。手动合并破坏原有架构,而Java module方案需确保jar包更新。jcenter方案简化了依赖管理,但上传审核和依赖问题需注意。其他尝试如Gradle脚本合并和从apk抽取aar因复杂性和低效被放弃。
摘要由CSDN通过智能技术生成

Android 多module合并打包笔记

这篇文章记录Android多module打包合并aar遇见的几个坑。希望对你我的工作能有一点帮助。。。

前言

由于工作需要,近期需要将项目中的library提供出一个sdk供给第三方公司开发。项目中的library中包含有多个的module,当Android studio打包aar时只会打包本module中相关资源,所以,最初提供sdk时,包含了n个jar、aar以及compile配置。为了能提供一个简单的优雅的sdk,我们对如何有效的合并module进行了一些尝试。

方案一 手动合并所有module

首先找到的一个可行的方案是手动去合并所有module。
然后在library中将依赖的其他module的源码全部复制过来。步骤大致可以这么划分:
  • 1、先手动将library中依赖的module中需要的第三方jar、so库,assets等移过来
  • 2、将src目录下相关资源移动过来
  • 3、build library后,进行测试

这是最初的方案,经过实际实验,确实可行。但是会有一些不足,首先,这样的改动破坏了原因项目的设计架构,单单一个library模块显得相当冗余,不符合软件工程的设计思想。
另外,作为服务方,我们需要考虑,当第三方接入时,需要实现自定义时,比如,仅仅需要硬件交互方面的SDK、或者是只需要后端服务API时应该如何来做。因此,我们又有了优化的方案二

方案二

尽量将所有的Android module改成java modul

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值