天天看點

Android Gradle配置建構

最近在做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篇