Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 3,如何使Android Studio 3中的其他模块可以看到库?_Android_Android Studio_Gradle_Android Gradle Plugin_Dependencies - Fatal编程技术网

Gradle 3,如何使Android Studio 3中的其他模块可以看到库?

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

这些是项目1中名为“mylibrary1”的库模块的依赖项

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文件不包含可传递的依赖项。如何在保留依赖项的同时将库添加到另一个项目中?请看这里:真倒霉,谢谢。我的目标是将库与其他项目分开,并保持库代码的单一版本