Gradle 应用依赖项和模块依赖项/插件之间有什么区别?

Gradle 应用依赖项和模块依赖项/插件之间有什么区别?,gradle,build.gradle,Gradle,Build.gradle,在使用某些第三方库时,我向模块的build.gradle文件添加了一个依赖项 compile 'com.android.support:appcompat-v7:24.1.1' 或者我添加一个插件 apply plugin: 'com.neenbedankt.android-apt' 有时,该库需要向我的应用程序的build.gradle文件添加依赖项 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

在使用某些第三方库时,我向模块的build.gradle文件添加了一个依赖项

    compile 'com.android.support:appcompat-v7:24.1.1'
或者我添加一个插件

    apply plugin: 'com.neenbedankt.android-apt'
有时,该库需要向我的应用程序的build.gradle文件添加依赖项

    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
这些依赖项和插件之间有什么区别?
为什么不能在单个build.gradle文件中设置它们

非常感谢您的建议,我在搜索这方面的信息时遇到了困难。Gradle插件,模块依赖,一个构建依赖,位于构建工具的类路径上

插件是Gradle知道使用什么的方式。有。有关详细信息,请参阅

依赖关系是不可接受的。下面这行代码使您的模块依赖于Android AppCompat V7库。在大多数情况下,您会搜索或查找这些

compile 'com.android.support:appcompat-v7:24.1.1'
类路径设置是,而不是您的应用程序。例如,这允许在类路径中包含用于Android的Gradle构建工具,并允许Gradle构建应用程序

classpath 'com.android.tools.build:gradle:2.1.2'
为什么它们不能都在一个build.gradle文件中


他们可能是。它只是更加模块化

我从一位同事那里得到了这个答案,这有助于我理解。“gradle插件就像你用来构建应用程序的工具。依赖项是应用程序中包含的库。gradle插件通常是任务,比如ktlint等。”

我自己也不明白这一点,所以我发现了以下内容。我的答案基于
gradle
构建工具

插件:

为后续开发添加其他任务、存储库、新DSL元素、类路径/构建/运行配置或依赖关系管理。插件是为更大范围的开发而开发的,如
java
kotlin
spring boot

依赖关系:

模块
/用于
http
序列化
数据库
等任务的库是远程存储在
存储库
或本地存储的依赖项,在
运行时
测试
构建
时需要这些依赖项由gradle以配置的方式解决

来源:

Spring boot gradle插件:

关于插件/依赖项的Gradle文档:

远程存储库:

谢谢您的回答。任务(插件)是什么意思?你的问题完全与Gradle有关,你可以在那里找到所有必要的参考资料。例如,对于Java插件,运行
clean
任务删除所有编译的类文件。