深入淺出Android Gradle構建系統(一:簡介)

yangxi_001發表於2017-06-13
gradle是Android開發中引入的全新的構建系統,因為全新的構建系統主要是出於下面的目的:

1. 方便複用程式碼和資源
2. 構建多種版本的apk更見簡單,不論是為多渠道構建不同的apk還是構建不同環境的apk(debug,release)
3. 方便配置,擴充套件,自定義構建過程

4. 良好的IDE整合

為什麼選擇Gradle?

Gradle主要有以下幾個有點:

1. 使用領域驅動語言(DSL)來描述構建邏輯
2. 構建指令碼使用Groovy,可以方便的定製構建邏輯
3. 內建的依賴管理系統,使用Maven或者Ivy
4. 非常靈活。可以使用最佳實踐但並不強制
5. 良好的IDE支援

Gradle專案使用專案根目錄下的build.gradle檔案來配置

一個最簡單的Java專案的build.gradle如下

[plain] view plain copy
  1. apply plugin: 'java'  
這表示改專案會使用Gradle的java外掛,該外掛是Gradle預設提供的,java外掛提供了構建java應用和執行測試的功能。

最簡單的Android專案build.gralde
[plain] view plain copy
  1. buildscript {  
  2.     repositories {  
  3.         mavenCentral()  
  4.     }  
  5.   
  6.   
  7.     dependencies {  
  8.         classpath 'com.android.tools.build:gradle:0.11.1'  
  9.     }  
  10. }  
  11.   
  12.   
  13. apply plugin: 'android'  
  14.   
  15.   
  16. android {  
  17.     compileSdkVersion 19  
  18.     buildToolsVersion "19.0.0"  
  19. }  
該Android構建檔案包含3個部分:
buildscript { ... } 配置驅動構建過程的程式碼,意思就是buildscript中的配置僅僅在構建過程中起作用,也就是構建程式所使用的配置。
上面的程式碼中就宣告瞭我們的構建程式會使用Maven中央倉庫,並且有一個classpath依賴是指向一個Maven庫的。這個Maven庫就是Android Gradle外掛,版本號是0.11.1。

隨後就是使用這個Android外掛,和之前使用Java外掛一樣。

最後,android { ... }配置了Android專案構建時需要的所有引數。
預設情況下,只需要指定compileSdkVersion和buildtoolsVersion,compileSdkVersion指定使用哪個版本的sdk編譯,buildToolsVersion指定使用哪個版本的構建工具。


注意點:
1. 只需要使用android外掛,再使用Java外掛會報錯.
2. 在local.properties中使用sdk.dir屬性指定SDK路徑,或者你可以使用ANDROID_HOME環境變數。

下一篇,我將會介紹Android Gradle專案的專案結構。

相關文章