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

标签 android gradle dependencies aar

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

最佳答案

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

你必须

apply from: 'fat-aar.gradle'

来自 GitHub 存储库,然后将您的编译 依赖项替换为嵌入式 依赖项。因此,与其将模块 otherModule 依赖项定义为

dependencies {
    compile project(':otherModule')
}

你只需要将它定义为

dependencies {
    embedded project(':otherModule')
}

编译 配置依赖于嵌入 配置,因此您在本地的行为与之前相同。

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

如果您为离线工作创建此设置,最好考虑使用 Local Maven repository

repositories {
    mavenLocal()
}

带有您需要使用的库 Artifact 的副本。或者甚至可以为您自己和任何需要它的人创建一个个人管理的存储库。

关于android - 我们如何通过组合不同的模块来创建一个单一的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42687048/

相关文章:

android - toast 导致游戏意外关闭

java - 在 MVVM 中显示对话框、布局和数据过滤

android - 从 IDEA 运行 Robolectric 测试

maven - maven 会自动下载 Artifact 依赖项吗?

visual-studio - Visual Studio : How to make one solution depend on another?

java - Eclipse 指向依赖项中的错误路径

android - 显示通知时华为 5.1 手机出现奇怪的允许/拒绝问题

android - Espresso 失败时设置构建失败

java - Gradle 错误 - 无法下载 okhttp.jar 文件 2.7.2

react-native - 在本地生成apk