Gradle系列第一講-什么是Gradle? Gradle是做什么的?

我之前一直都把Gradle理解為一個(gè)android studio工程的依賴管理和打包工具。 這么理解其實(shí)也沒什么問題。但是這么理解不夠全面和系統(tǒng),會(huì)給我之后系統(tǒng)的使用gradle造成一定的限制。所以是時(shí)候來全面的認(rèn)識(shí)一下gradle了。 啊啊啊 !

那應(yīng)該怎么理解gradle呢?
gradle 是目前非常流行的一個(gè)項(xiàng)目構(gòu)建工具。 它并不局限于一種平臺(tái)。 那什么是項(xiàng)目構(gòu)建工具呢,我們又為什么要用項(xiàng)目構(gòu)建工具呢?
答:隨著軟件工程的項(xiàng)目的日益復(fù)雜,對(duì)于軟件項(xiàng)目的編譯,打包就成為了一大痛點(diǎn)。 以android項(xiàng)目為例,如果要手動(dòng)配置那么多依賴的第三方庫和jar包,自己需要一個(gè)一個(gè)去網(wǎng)上找資源,然后下載,配置。如果依賴包的版本變更的話,又要重新找資源,下載,配置。 想想都頭大。 還有需要把java源碼,res等資源編譯打包成apk.也是一個(gè)巨大的工作量。 這個(gè)時(shí)候就需要一個(gè)工具幫我們完成這些工作了。在軟件項(xiàng)目中完成以上類似工作的工具,稱之為項(xiàng)目構(gòu)建工具。當(dāng)然gralde的功能遠(yuǎn)遠(yuǎn)不止這些,這需要我們不停的探索。

在Gradle之前,android的項(xiàng)目構(gòu)建工具是ant, 用過eclipse的同學(xué)應(yīng)該都用過。 我們知道ant是不支持自動(dòng)去下載配置依賴jar的,這個(gè)坑就不提了。 還有ant的編譯規(guī)則是基于xml的,用xml你是很難描述類似if(如果條件成立,編譯某文件)else{如果條件不成立,編譯某文件}這樣不同條件的任務(wù)的。 這點(diǎn),用ant做過android多渠道打包的同學(xué),應(yīng)該深有體會(huì)。

那Gradle呢, 首先Gradle是支持自動(dòng)下載的依賴包的,
然后呢,Gradle腳本不是像傳統(tǒng)的xml文件那樣,而是一種基于Groovy的動(dòng)態(tài)DSL,而Groovy語言是一種基于jvm的動(dòng)態(tài)語言。 基于這種設(shè)計(jì)呢, gradle是支持我們像寫腳本一樣的去寫項(xiàng)目的構(gòu)建規(guī)則。 想想就很激動(dòng)啊 。

前面我說過 Gradle是一個(gè)構(gòu)建工具,但不局限于一種開發(fā)平臺(tái)。它類似于一個(gè)開發(fā)框架,也有自己的語言”Groovy語言“,有一些自己的基礎(chǔ)功能。然后根據(jù)各平臺(tái)基于它的框架去開發(fā)定制自己編譯和打包規(guī)則。 像我們自動(dòng)下載依賴包的這個(gè)功能就是Gradle自己帶的,而Gradle之所以能夠編譯和打包android項(xiàng)目,是因?yàn)镚oogle團(tuán)隊(duì)在Gradle的基礎(chǔ)上擴(kuò)展了一個(gè)Android的gradle插件。 當(dāng)然還有很多流行的Gradle插件,類似于java 插件等等。這點(diǎn)需要重點(diǎn)理解。 Gradle是Gradle ,android gradle插件是android gradl插件,不能混為一談。這個(gè)我們?cè)谙乱徽碌?Gradle 系列第二講-android studio中的四個(gè)Gradle文件功能講解“”中具體說明。

小結(jié)一下:
這章其實(shí)重點(diǎn)要理解這兩點(diǎn):

  1. Gradle 是一個(gè)構(gòu)建工具,也是一個(gè)開發(fā)框架,基于Groovy語言。 我們可以通過Groovy語言去寫自己的Gradle插件,也可以去編寫指定的腳本去改變構(gòu)建規(guī)則。
  2. android studio中g(shù)radle之所以能夠構(gòu)建android工程,是因?yàn)橛谢赼ndroid的gradle插件。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,577評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,486評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,600評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,944評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,108評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,652評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,385評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,616評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,798評(píng)論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評(píng)論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,334評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,570評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,745評(píng)論 25 708
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,922評(píng)論 6 342
  • Android Studio作為Android應(yīng)用開發(fā)的官方IDE,默認(rèn)使用Gradle作為構(gòu)建工具,所以對(duì)于An...
    feil0n9wan9閱讀 1,691評(píng)論 1 6
  • 原文鏈接 前言 網(wǎng)上關(guān)于Gradle的教程很多,但很多都是以“面”切入— 通過大量講解其用法及其API分類來闡述。...
    adison閱讀 2,774評(píng)論 7 67
  • 早上起來,看著露露又把被子曬在陽臺(tái)。想著要不要讓他豎過來曬。卻不想跟他講話。于是在411曬了蓋被,在413曬了床墊...
    樸菘菘麻麻閱讀 330評(píng)論 0 0