2016-08-12 143 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'任務來刪除所有已編譯的類文件。 –