深入淺出Android Gradle構建系統(一:簡介)
gradle是Android開發中引入的全新的構建系統,因為全新的構建系統主要是出於下面的目的:
1. 方便複用程式碼和資源
2. 構建多種版本的apk更見簡單,不論是為多渠道構建不同的apk還是構建不同環境的apk(debug,release)
3. 方便配置,擴充套件,自定義構建過程
這表示改專案會使用Gradle的java外掛,該外掛是Gradle預設提供的,java外掛提供了構建java應用和執行測試的功能。
最簡單的Android專案build.gralde
該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環境變數。
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如下
- apply plugin: 'java'
最簡單的Android專案build.gralde
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.11.1'
- }
- }
- apply plugin: 'android'
- android {
- compileSdkVersion 19
- buildToolsVersion "19.0.0"
- }
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構建系統(1):簡介AndroidGradle
- 深入淺出Android Gradle構建系統(三:build task)AndroidGradleUI
- 深入淺出Android Gradle構建系統(五:build type)AndroidGradleUI
- 深入淺出Android Gradle構建系統(3):build taskAndroidGradleUI
- 深入淺出Android Gradle構建系統(二:專案結構)AndroidGradle
- 深入淺出Android Gradle構建系統(2):專案結構AndroidGradle
- 深入淺出Android Gradle構建系統(四:自定義構建過程之配置manifest)AndroidGradle
- 深入淺出Android訊息系統之一Android
- 深入淺出JMS(一)——JMS簡單介紹
- 【Android系統】Android系統架構簡介Android架構
- Android初級之路-Android系統架構簡介Android架構
- Android小知識-深入淺出Android系統啟動流程(上)Android
- Android小知識-深入淺出Android系統啟動流程(下)Android
- 《Kettle構建Hadoop ETL系統實踐》簡介Hadoop
- Gradle for Android ( 構建變體 )GradleAndroid
- [Android、Java]加快gradle構建AndroidJavaGradle
- [Gradle] Gradle 簡介Gradle
- 根檔案系統簡介與BusyBox構建根檔案系統
- 深入淺出Android Support AnnotationsAndroid
- Redis雲端架構深入淺出Redis架構
- 深入淺出的webpack構建工具---HappyPack優化構建(九)WebAPP優化
- 深入淺出的webpack構建工具---DllPlugin DllReferencePlugin提高構建速度(七)WebPlugin
- 用Gradle 構建你的android程式GradleAndroid
- 深入淺出Android BufferQueue-上Android
- android Binder機制深入淺出Android
- Tomcat深入淺出(一)Tomcat
- 深入淺出OOD(一) (轉)
- 深入淺出MyBatis:JDBC和MyBatis介紹MyBatisJDBC
- 深入淺出FE(十四)深入淺出websocketWeb
- 【深入淺出ES6】解構
- 深入淺出的webpack構建工具---webpack基本配置(一)Web
- 打造一個全命令列的Android構建系統命令列Android
- Slack系統架構簡介 - jinlow架構
- Kubernetes系統架構簡介架構
- 如何構建一個系統?
- MVCC詳解,深入淺出簡單易懂MVC
- PostgreSQL VACUUM 之深入淺出 (一)SQL
- 深入淺出UML類圖(一)