最近在做Android 項目的持續內建,期間又梳理了一遍Android項目的Gradle配置建構,總結成部落格與大家分享下。
一個最簡的Gradle配置
我們都知道Android Studio 建構系統以 Gradle為基礎,并且 Android Gradle插件添加了幾項專用于建構 Android 應用的功能。
Gradle 和 Android Gradle插件獨立于 Android Studio 運作。這意味着,我們可以在 Android Studio 内、計算機上的指令行或未安裝 Android Studio 的計算機(如持續內建伺服器)上建構 Android 應用。無論是從指令行、在遠端計算機上還是使用 Android Studio 建構項目,建構的輸出都相同。
一個最簡的Gradle配置如下:
|____gradle
| |____wrapper
| | |____gradle-wrapper.jar //具體業務邏輯
| | |____gradle-wrapper.properties //配置檔案,gradle工具包的下載下傳連結、存放位址等
|____gradlew //Linux 下可執行腳本
|____gradlew.bat //Windows 下可執行腳本
其中,執行gradlew或者gradlew.bat腳本,會進行如下操作:
1、如果本地沒有.gradle檔案夾,則根據gradle-wrapper.properties中的連結下載下傳gradle工具包;
2、根據項目的頂級build.gradle檔案中去下載下傳相關gradle插件和依賴;
3、根據子產品級build.gradle檔案進行相關設定和下載下傳;
4、建構項目;
是以,在做Android項目的持續內建時,隻需要用指令行執行gradlew或者gradlew.bat腳本即可~
注意:
需要Java環境支援!
詳細的說明可以參考官方的教程:從指令行建構您的應用
Android項目配置建構
這塊直接看官網教程就行,已經說得很明白了,附上連結吧:
Android Studio 配置建構
什麼是DSL
使用gradle配置的時候,需要熟悉其DSL元素,比如 buildscript {},dependencies{}…
那麼什麼是DSL呢?
DSL(domain specific language),即領域專用語言:專門解決某一特定問題的計算機語言,比如大家耳熟能詳的 SQL 和正規表達式。
相對的就是 GPL,這裡的 GPL 并不是我們知道的開源許可證,而是 General Purpose Language 的簡稱,即通用程式設計語言,也就是我們非常熟悉的 Objective-C、Java、Python 以及 C 語言等等。
我們常說的Kotlin DSL,即使用 Kotlin 語言開發的,解決特定領域問題,具備獨特代碼結構的 API
詳細可以看這篇文章:Kotlin之美——DSL篇