【发布时间】:2018-02-02 17:39:00
【问题描述】:
这些是项目 1 中名为“mylibrary1”的库模块的依赖项
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api 'com.android.volley:volley:1.0.0'
...
}
这里的关键字 api 是为了将这种依赖关系传递给我自己的库的消费者(我使用的是 Gradle 3)。一切顺利,.aar 文件已制作完成。
然后让我们转到另一个项目 2,它是库的使用者。我点击文件 > 新模块 > 导入 .jar/.aar 并选择我之前制作的 aar 文件。
我检查了 settings.gradle 是否包含新模块,然后以这种方式将依赖项添加到消费者
api project(':mylibrary1')
再次,关键字api是重用来自另一个项目的代码将使用项目2的aar的必要条件。无论如何,即使我放置关键字实现它也不会改变。
从项目 2 的课程中,我可以看到我在 mylibrary1 中的所有课程,但 Volley 中的课程除外。
我做错了什么?我该如何解决这个问题?
【问题讨论】:
-
aar 文件不包含传递依赖项
-
我应该如何将库添加到另一个项目,同时保持依赖关系?
-
真倒霉,谢谢。我的目标是将库与其他项目分开,并保持库代码的单一版本
标签: android android-studio gradle android-gradle-plugin dependencies