这些是项目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中的课程。
我做错了什么?我该怎么做才能解决这个问题?
答案 0 :(得分:1)
当您打包AAR时,它不会包含传递依赖项,只包含您自己的代码。因此,您需要在项目2中添加Volley依赖项。