了解Android Studio中的Gradle

Gradle是啥?

gradle是一個基于Apache AntApache Maven概念的項目自動化建構(gòu)工具。

所謂的構(gòu)建過程就是:編譯,測試,依賴管理,打包,部署。以前我們開發(fā)是手動導(dǎo)入jar包的,類似于面向過程,一步一步來,缺什么包就導(dǎo)什么包,很麻煩,容易出錯,jar包版本還不統(tǒng)一,需要關(guān)心jar包與jar包之間的依賴。通過采用gradle的構(gòu)建方式,只需通過complie xxxxx引入一個jar包,然后這個jar包所依賴的其他jar包gradle會自動幫引入,無需關(guān)心jar包與jar包之間的依賴,在什么地方以什么形式引入外部jar包,都委托給gradle管理了,體現(xiàn)了面象對象的思想,無需關(guān)心內(nèi)部實現(xiàn)過程,直接引入就可。(注意Gradle不是一種編程語言,它不能幫你實現(xiàn)軟件中的任何實際功能)

自動化構(gòu)建工具有哪些?

Ant 2000年誕生,主要是編譯代碼,測試代碼。

Maven? 2007年誕生,主要是編譯測試,依賴管理。

Gradle? 2012年誕生 主要是是編譯測試,依賴管理,DSL自定義擴(kuò)展任務(wù)。

Android Studio中的默認(rèn)工具是Gradle


Android studio的默認(rèn)插件是Gradle,或許是因為Gradle編譯速度比Maven 快很多,而且Gradle完全兼容kotlin語言。當(dāng)我們新建一個android 項目,gradle已經(jīng)默認(rèn)配置好了,打開gradle-wrapper.properties文件,查看配置信息:


可以看到distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip說明默認(rèn)使用的是gradle 5.1.1 的版本,當(dāng)然可以改成我們本地有的版本,distributionUrl=file:///+gradle的本地路徑,例如:distributionUrl=file:///c:/tools/gradle-5.6.4.zip就可以了。

android gradle插件詳解地址:https://developer.android.com/studio/releases/gradle-plugin?hl=zh-cn

build.gradle

build.gradle文件分別在項目目錄下和對應(yīng)module目錄都有存在。

下圖是項目目錄下的build.gradle:


接下來是module目錄的build.gradle:

module目錄下的的build.gradle里的dependencies {......}里面的依賴,是單單一個模塊本身所需的依賴!是程序運行的編譯依賴!


在External Libraries文件夾下,如圖

x

可以看到項目添加的所有依賴,包括子依賴都會顯示在里面。除build.gradle里的dependencies {......}里面添加的依賴之外的依賴都是子依賴。子依賴都是gradle智能自動的幫你添加的,它檢查到你主動添加的依賴,又依賴于其他依賴,就會幫你加上。另外當(dāng)gradle檢查到依賴間有沖突時,出現(xiàn)依賴間多次引用相同jar包(只能將庫里的源碼打進(jìn)去,而資源什么的不能打進(jìn)去)、aar包(自動的將資源文件和源碼一起打進(jìn)去,不用擔(dān)心資源缺失的問題),它只會默認(rèn)選擇版本較高的添加,不會重復(fù)添加。這就是gradle出色的依賴管理

今天的分享結(jié)束了,再見~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容