Android多模块构建合并aar解决方案

参考:
Android导出aar时嵌套引用的那些坑
Android多模块构建合并aar解决方案
android studio library生成jar包和aar的方法总结
Android Studio打包apk,aar,jar包 总结
Androidstudio 打包aar 无法引用类库中 dependencies 远程依赖
AndroidStudio 多层级 Module 对 aar 引用问题
AndroidStudio 使用gradle 脚本上传aar文件到Nexus Maven 私有服务器
Android Studio使用Gradle发布AAR到本地Maven仓库
Maven入门指南⑤:使用Nexus搭建Maven私服
nexus 安装报错 wrapper | OpenSCManager failed - 拒绝访问。 (0x5)
cmd.exe目录
将jar或者aar发布到到mvn 中(用github作为仓库), 通过gradle dependency 方式集成,githubgradle
Android Studio 使用Aliyun Maven

需求:使用本地的aar包,该aar包依赖并关联了其他maven上的地址包,打包aar包时把其他关联的包一并生成。

解决:

合并aar的脚本 github

步骤1:
将gradle文件’fat-aar.gradle’ 复制到你的项目目录上,然后在需要合并的依赖库中,引入如下apply代码:

apply from: 'fat-aar.gradle'

步骤2:定义嵌入的依赖关系
你需要修改你以前依赖项,并将compile更改为embedded,作为你想要合并的aar。可以合并本地和网络上的aar,使用例子如下:

apply from: 'fat-aar.gradle'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Order of dependencies decide which will have precedence in case of duplicates
    // during manifest / resource merger
    embedded project(':librarytwo')
    embedded project(':libraryone')
    // We can embed android libraries from maven too
    embedded 'com.adwiv.internal:librarythree:1.0.0'

    compile 'com.android.support:appcompat-v7:22.2.0' //Non embedded dependency
}

最后需要编译运行一遍使得合并执行生效,这时大家可以测试一下新的aar是否包含了关联的aar。完整截图如下:


Android多模块构建合并aar解决方案_第1张图片
fat-aar

你可能感兴趣的:(Android多模块构建合并aar解决方案)