
背景介紹:不同于Eclipse,Android Studio是采用Gradle來構(gòu)建項目的。Gradle是一個非常先進的項目構(gòu)建工具,它使用一種基于Groovy的領(lǐng)域特定語言(DSL)來聲明項目設(shè)置,摒棄了傳統(tǒng)基于XML(如Ant和Maven)的各種繁瑣配置。
相信剛開始接觸AS的同學(xué)也會分不清這兩個build.gradle是干嗎用的,又有什么區(qū)別?現(xiàn)在我就來圖文并茂的分析一下這個build.gradle。
由上圖我們可以看到我們的項目中有兩個build.gradle文件,上面的那個在app目錄下,下面那個在最外層的目錄下。
1.最外層的build.gradle

兩處的repositories(資料庫)的閉包中都聲明了jcenter()這行配置,那么這個jcenter其實就是一個代碼托管倉庫,很多Android開源項目都會選擇將代碼托管到j(luò)center上,聲明了這行配置之后,我們就可以在項目中輕松引用任何jcenter上的開源項目了。
接下來dependencies閉包中使用classpath聲明了一個Gradle插件。Gradle插件不是專門為構(gòu)建Android項目而開發(fā)的,Java,C++等很多項目都可以使用Gradle來構(gòu)建。一次如果我們想使用它來構(gòu)建Android項目則需要聲明com.android.tools.build:gradle:2.3.1這個插件。其中2.3.1是插件的版本號。
最下面的task clean{}在運行g(shù)radle clean時,執(zhí)行此處定義的task,該任務(wù)繼承自Delete,刪除根目錄中的build目錄;相當于執(zhí)行Delete.delete(rootProject.buildDir);gradle使用Groovy語言,調(diào)用method時可以不用加()。
這樣我們就將最外層目錄下的build.gradle文件分析完了,通常情況下我們并不需要修改這個文件中的內(nèi)容,除非想要添加一些全局的項目構(gòu)建配置。
2.app目錄下的build.gradle
