gradle入門

瞭解Groovy語言

說到gradle就不得不談Groovy語言,gradle中所有的配置使用的是Groovy語言

Groovy語言是一門jvm語言,最終編譯成class文件後在jvm上運行,java語言的特性Groovy都支持,可以混寫java和Groovy,但是不能混寫java和kotlin,kotlin和java可以互相調用,但是不可以混寫

說了這麼多,那Groovy語言就得比java多點啥,要不用它幹啥啊

Groovy優勢在於增強了java的一些功能,如文件讀寫,xml解析,用Groovy幾行代碼就能搞定,而java就需要幾十行

def聲明變量、定義函數

def i = 1

def str = "hello world"

def d = 3.14

聲明變量可以不加類型,編譯時會自動判斷類型,結尾也可以不加分號

def demoName(){

      "hello world"

}

最後一行就等於return了,可以不加return

String demoName(){

      "hello world"

}

指定返回值類型就可以不加def了

字符串分爲三種

單引號不會對字符串中$進行轉義,原樣輸出

雙引號會轉義$,輸出變量的值

三引號字符(''')支持換行,原樣輸出

Groovy的數據類型主要包括三種

java中基本數據類型

增強的List、Map、Range容器

閉包

需要說一下的是List可以通過 << 加入元素(List << 1)

認識gradle

Gradle學習主要參考文檔如下:

Gradle API:https://docs.gradle.org/current/javadoc/org/gradle/api/package-summary.html

Gradle DSL:https://docs.gradle.org/current/dsl/org.gradle.api.Project.html

Gradle 用戶手冊:https://docs.gradle.org/current/userguide/userguide.html

Android插件DSL參考:http://google.github.io/android-gradle-dsl/current/index.html

配置環境

官方文檔上說了,要想運行首先你得弄個jdk或者jre1.8以上版本,注意啊,別到時候讓我幫幫你

下載gradle

地址:https://gradle.org/releases/

現在官方有兩個版本 一個二進制文件,一個完整版,在現在這個時間下(2020-02-01)最新的是6.1.1版本

https://gradle.org/next-steps/?version=6.1.1&format=all

下載完成之後解壓(網速慢就去村口網吧下載一下)

解壓完樂意放哪就放哪,自己記住就行

然後配置系統環境

在環境變量的path中添加C:\gradle-6.1.1-all\gradle-6.1.1\bin,也就是你的解壓完之後壓縮包的bin所在地址,往裏面一填就行,win10系統直接添加,win10以下點編輯然後加分號添加進去!別的系統自己百度去

添加完了再命令行輸入 gradle -v 驗證一下

這樣似的就成功了,環境就安裝完了

Gradle是一個開源的構建自動化工具,既然是用於項目構建,那它肯定要制定一些規則,在Gradle中每一個待編譯的工程都稱爲Project,每個Project都可以引入自己需要的插件,引入插件的目的其實就是引入插件中包含的Task,一個Project可以引入多個插件,每個插件同樣可以包含一個或多個Task

通過 gradle projects命令即可查看有多少個projects

gradle通過setting.gradle文件中的

linclude:

來看包含了多少個project

使用gradle的時候,見到最多的就是build.gradle文件

在根目錄下配置的build.gradle文件一般都是公共的東西,子文件就不需要在配置了

我們在settings.gradle與build.gradle中看似配置的信息其實都是調用對應對象的方法或者腳本塊設置對應信息。其實settings.gradle文件最終會被翻譯爲Settings對象,而build.gradle文件最終會被翻譯爲Project對象,build.gradle文件對應的就是每個project的配置。Settings與Project在Gradle中都有對應的類,也就是說只有Gradle這個框架定義的我們才能用

Project對象
每個build.gradle文件都會被翻譯爲對應的Project對象,build.gradle文件最重要的作用就是

引入插件並配置相應信息

添加依賴信息

引入插件重要的就是引入插件中包含的tasks,至於插件與tasks後面會詳細講到。

那怎麼引入插件呢?

Project定義了apply函數供我們調用:

apply plugin: 'com.android.library'

Gradle工作時序

Gradle執行分爲三個過程:

Initiliazation
初始化階段只要爲每個module創建project實例。這個階段settings.gradle文件會被解析執行。

Configration
這個階段解析每個模塊的build.gradle文件,這個階段完成後整個項目的tasks執行順序也就確定了並且task準備就緒處於待執行狀態,整個tasks任務會構成一個有向無環圖。

執行任務
這階段就是按照順序執行具體任務了。

在每個階段我們可以通過gradle對象添加回調監聽。

Gradle中的task

task可以說Gradle中很重要的部分,task是Gradle的執行單元,一個task就是具體執行某一任務。

好的這篇博客到這裏就結束了,大家一起學習一進步,謝謝

 

發佈了48 篇原創文章 · 獲贊 69 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章