我们如何通过组合不同的模块来创建单个库?

8 dependencies android gradle aar

我想从我的项目中构建一个单独的库,该项目使用了许多依赖项和资源.如果将cardview作为jar导入,它将没有资源,但是当它被添加为aar时,它会被添加为另一个模块.所以我无法将它组合成一个单独的aar库.我不想将我的项目提交到存储库.我如何建立图书馆,提前谢谢!

tyn*_*ynn 0

android-fat-aar应该会为你处理这个问题。

你必须

apply from: 'fat-aar.gradle'
Run Code Online (Sandbox Code Playgroud)

从 GitHub 存储库中获取,然后将编译依赖项替换为嵌入依赖项。因此,不要将模块otherModule依赖定义为

dependencies {
    compile project(':otherModule')
}
Run Code Online (Sandbox Code Playgroud)

你只需要把它定义为

dependencies {
    embedded project(':otherModule')
}
Run Code Online (Sandbox Code Playgroud)

编译配置取决于嵌入式配置,因此您在本地会有与以前相同的行为

但最终这是一个有问题的配置,特别是如果您想使用某些 Android 支持库。您很可能会遇到重复问题。

如果您要为离线工作创建此设置,最好考虑使用本地 Maven 存储库

repositories {
    mavenLocal()
}
Run Code Online (Sandbox Code Playgroud)

以及您需要使用的库工件的副本。或者甚至可以为您自己和其他需要它的人提供个人管理的存储库。