一、什么是Gradle?
Gradle是一種構建工具,它可以幫你管理項目中的差異,依賴,編譯,打包,部署......,你可以定義滿足自己需要的構建邏輯,寫入到build.gradle中供日后復用。
二、為什么要用Gradle?
Gradle是比較先進的構建系統(tǒng),也是一個很好的構建工具,允許通過插件自定義構建邏輯
以下是為什么Android Studio選擇Gradle的主要原因:
- 使用領域專用語言(Domain Specific Language)來描述和處理構建邏輯。(以下簡稱DSL)
- 基于Groovy。DSL可以混合各種聲明元素,用代碼操控這些DSL元素達到邏輯自定義。
- 支持已有的Maven或者Ivy倉庫基礎建設
- 非常靈活,允許使用best practices,并不強制讓你遵照它的原則來。
- 其它插件時可以暴露自己的DSL和API來讓Gradle構建文件使用。
- 允許IDE集成,是很好的API工具。
三、如何使用Gradle?
我們能夠使用以下配置文件對Gradle的構建進行配置:
Gradle構建腳本(build.gradle)指定了一個項目和它的任務。
Gradle屬性文件(gradle.properties)用來配置構建屬性。
Gradle設置文件(gradle.settings)對于只有一個項目的構建而言是可選的,如果我們的構建中包含多于一個項目,那么它就是必須的,因為它描述了哪一個項目參與構建。每一個多項目的構建都必須在項目結構的根目錄中加入一個設置文件。
Gradle的設計理念是,所有有用的特性都由Gradle插件提供,一個Gradle插件能夠:
在項目中添加新任務
為新加入的任務提供默認配置,這個默認配置會在項目中注入新的約定(如源文件位置)。
加入新的屬性,可以覆蓋插件的默認配置屬性。
為項目加入新的依賴。
Gradle用戶手冊提供了一系列標準Gradle插件。
在我們?yōu)轫椖考尤隚radle插件時,我們可以根據(jù)名稱或類型來指定Gradle插件。
我們可以將下面這行代碼加入到build.gradle文件中,它通過名稱指定Gradle插件(這里的名稱是foo):
apply plugin: 'foo'
另一方面,我們也可以通過類型指定Gradle插件,將下面這行代碼加入到build.gradle文件中(這里的類型是com.bar.foo):
apply plugin: 'com.bar.foo'