2016-08-12 157 views
3

当使用一些第三方库时,我添加一个依赖项到我的模块的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文件中设置?

所有的建议表示赞赏,我在搜索此信息时遇到问题

回答

6

三件事。 Gradle 插件,模块依赖关系,构建依赖关系,放置在构建工具的类路径上。

A 插件是Gradle如何知道使用什么tasks。有many plugins。欲了解更多信息,请参阅Gradle - Plugin Documentation

A 依赖关系a library that is compiled with your code。以下行使您的模块依赖于Android AppCompat V7库。大多数情况下,您可以搜索MavenJcenter

compile 'com.android.support:appcompat-v7:24.1.1' 

类路径设置为needed for Gradle,不是你的应用程序。例如,这允许将Android的Gradle Build Tools包括到类路径中,并允许Gradle构建应用程序。

classpath 'com.android.tools.build:gradle:2.1.2' 

他们为什么不能都在一个文件中的build.gradle?

他们可能是。它不是更模块化。

+0

感谢您的回答。什么是一个任务(插件)? –

+0

你的问题完全是Gradle相关的,你可以在那里找到所有必要的参考。例如,对于Java插件,可以运行'clean'任务来删除所有已编译的类文件。 –