场景:因为内网环境问题,无法使用maven依赖的方式所以只能使用本地aar/jar 依赖,又因为是一个多模块项目,所以最后会生成多个aar,直接把多个aar给别人用又不太好,当然,目前已经有解决这个问题来的方案拉,我这里就是记录一下自己的使用过程
一、android-fat-aar
- github传送门:https://github.com/adwiv/android-fat-aar
- 据说这种方式作者是不维护了,并且gradle版本限制也是一个很大的问题,所以我这里用的第二种
二、fat-aar使用方式
中文文档传送门:https://github.com/cpdroid/fat-aar/blob/master/README_CN.md
三、举个栗子
- 首先看看项目结构
我需要将base和constant的aar打包进sdk,合三为一。 - 在项目根目录的build.gradle 添加fat-aar的依赖:
dependencies {
classpath 'com.cpdroid:fat-aar:1.1.0'
}
- 在sdk的build.gradle里添加依赖
apply plugin: 'com.android.library'
apply plugin: "com.cpdroid.fat-aar"
- 将sdk的依赖方式从implementation、api改为embedded
到这里就配完拉,然后rebuild或者assembled一下,执行完成后就能在sdk的build目录下面找到合成之后的aar了