如何使Gradle将依赖库下载到项目目录

xua*_*hui 17 dependencies download gradle

有没有办法让gradle下载依赖库到项目目录,就像maven一样?我知道gradle在本地机器目录中保留了自己的缓存,但我怎么知道我的项目将使用哪些库,特别是我在build.gradle文件中定义的库有自己的依赖?

Tho*_*mas 17

要知道将为项目使用哪些库,您可以使用依赖项任务.它将帮助您找出模块的依赖关系及其递归依赖关系.

如果您的模块名称是app,那么您可以尝试gradle :app:dependencies在项目目录中.你会得到类似下面的东西作为输出.

compile - Classpath for compiling the main sources.
\--- com.android.support:appcompat-v7:22.2.0                             
     \--- com.android.support:support-v4:22.2.0
          \--- com.android.support:support-annotations:22.2.0
Run Code Online (Sandbox Code Playgroud)

com.android.support:appcompact-v7:22.2.0是模块的依赖关系,下面是模块的递归依赖关系.

如果您真的想要在项目目录中获取依赖项,那么您可以像这样为它创建任务.

task copyDependencies(type: Copy) {
   from configurations.compile   
   into 'dependencies'
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以运行gradle :app:copyDependencies以获取位置中的所有依赖项<projectDir>/app/dependencies.请注意,这只是为您提供项目目录中的依赖项,gradle仍在解析本地缓存中的依赖项.

  • @IsmailIqbal那是因为你需要修改你的模块级gradle脚本,而不是项目级别 (2认同)