Gradle 3,如何使Android Studio 3中的其他模块可以看到库?
这些是项目1中名为“mylibrary1”的库模块的依赖项Gradle 3,如何使Android Studio 3中的其他模块可以看到库?,android,android-studio,gradle,android-gradle-plugin,dependencies,Android,Android Studio,Gradle,Android Gradle Plugin,Dependencies,这些是项目1中名为“mylibrary1”的库模块的依赖项 dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) api 'com.android.volley:volley:1.0.0' ... } 关键字api在这里是为了向我自己的库(我使用的是Gradle3)的使用者传递这种依赖关系。一切正常,.aar文件已生成 然后让我们转到另一个项目2,它是库的使用者。我点击file>newmodu
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api 'com.android.volley:volley:1.0.0'
...
}
关键字api在这里是为了向我自己的库(我使用的是Gradle3)的使用者传递这种依赖关系。一切正常,.aar文件已生成
然后让我们转到另一个项目2,它是库的使用者。我点击file>newmodule>import.jar/.aar并选择我之前制作的aar文件
我检查了settings.gradle是否包含新模块,然后以这种方式向使用者添加了依赖项
api project(':mylibrary1')
同样,关键字api对于重用来自另一个将使用项目2的aar的项目的代码是必要的。不管怎样,即使我使用关键字实现,它也不会改变
从Project2的课程中,我可以在mylibrary1中看到我所有的课程,除了Volley中的课程
我做错了什么?如何解决这个问题?当您打包AAR时,它将不包括可传递的依赖项,只包括您自己的代码。因此,您需要在项目2中添加一个截取依赖项。aar文件不包含可传递的依赖项。如何在保留依赖项的同时将库添加到另一个项目中?请看这里:真倒霉,谢谢。我的目标是将库与其他项目分开,并保持库代码的单一版本