Gradle簡介

gradle跟ant/maven同樣,是一種依賴管理/自動化構建工具。可是跟ant/maven不同,它並無使用xml語言,而是採用了Groovy語言,這使得它更加簡潔、靈活,更增強大的是,gradle徹底兼容maven和ivy。html

基本配置

build.gradle

首先明確gradle跟maven同樣,也有一個配置文件,maven裏面是叫pom.xml,而在gradle中是叫build.gradle。Android Studio中的android項目一般至少包含兩個build.gradle文件,一個是project範圍的,另外一個是module範圍的,因爲一個project能夠有多個module,因此每一個module下都會對應一個build.gradle。linux

 

一些與gradle相關的文件:
android

gradle.properties

從名字上就知道它是一個配置文件,沒錯,這裏面能夠定義一些常量供build.gradle使用,好比能夠配置簽名相關信息如keystore位置,密碼,keyalias等。shell

settings.gradle

這個文件是用來配置多模塊的,好比你的項目有兩個模塊module-a,module-b,那麼你就須要在這個文件中進行配置,格式以下。windows

include ':module-a',':module-b'app

gradle文件夾:

這裏面有兩個文件,gradle-wrapper.jar和gradle-wrapper.properties,它們就是gradle wrapper。gradle項目都會有,你能夠經過命令gradle init來建立它們(前提是本地安裝了gradle而且配置到了環境變量中)。maven

gradlew和gradlew.bat

這分別是linux下的shell腳本和windows下的批處理文件,它們的做用是根據gradle-wrapper.properties文件中的distributionUrl下載對應的gradle版本。這樣就能夠保證在不一樣的環境下構建時都是使用的統一版本的gradle,即便該環境沒有安裝gradle也能夠,由於gradle wrapper會自動下載對應的gradle版本。
gradlew的用法跟gradle如出一轍,好比執行構建gradle build命令,你能夠用gradlew build。gradlew即gradle wrapper的縮寫。工具

gradle倉庫

gradle有三種倉庫,maven倉庫,ivy倉庫以及flat本地倉庫。聲明方式以下:測試

maven{
      url "..."
}
ivy{
      url "..."
}
flatDir{
      dirs 'xxx'
}
有一些倉庫提供了別名,可直接使用:gradle

repositories{
     mavenCentral()
     jcenter()
     mavenLocal()
}

gradle任務

gradle中有一個核心概念叫任務,跟maven中的插件目標相似。
gradle的android插件提供了四個頂級任務

  • assemble 構建項目輸出
  • check 運行檢測和測試任務
  • build 運行assemble和check
  • clean 清理輸出任務

參考:

http://www.androidchina.net/2155.html

相關文章
相關標籤/搜索