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

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

那應該怎么理解gradle呢掺喻?
gradle 是目前非常流行的一個項目構建工具。 它并不局限于一種平臺储矩。 那什么是項目構建工具呢感耙,我們又為什么要用項目構建工具呢?
答:隨著軟件工程的項目的日益復雜持隧,對于軟件項目的編譯即硼,打包就成為了一大痛點。 以android項目為例屡拨,如果要手動配置那么多依賴的第三方庫和jar包只酥,自己需要一個一個去網上找資源褥实,然后下載,配置层皱。如果依賴包的版本變更的話性锭,又要重新找資源,下載叫胖,配置草冈。 想想都頭大。 還有需要把java源碼瓮增,res等資源編譯打包成apk.也是一個巨大的工作量怎棱。 這個時候就需要一個工具幫我們完成這些工作了。在軟件項目中完成以上類似工作的工具绷跑,稱之為項目構建工具拳恋。當然gralde的功能遠遠不止這些,這需要我們不停的探索砸捏。

在Gradle之前谬运,android的項目構建工具是ant, 用過eclipse的同學應該都用過。 我們知道ant是不支持自動去下載配置依賴jar的垦藏,這個坑就不提了梆暖。 還有ant的編譯規(guī)則是基于xml的,用xml你是很難描述類似if(如果條件成立掂骏,編譯某文件)else{如果條件不成立轰驳,編譯某文件}這樣不同條件的任務的。 這點弟灼,用ant做過android多渠道打包的同學级解,應該深有體會。

那Gradle呢田绑, 首先Gradle是支持自動下載的依賴包的勤哗,
然后呢,Gradle腳本不是像傳統(tǒng)的xml文件那樣辛馆,而是一種基于Groovy的動態(tài)DSL俺陋,而Groovy語言是一種基于jvm的動態(tài)語言。 基于這種設計呢昙篙, gradle是支持我們像寫腳本一樣的去寫項目的構建規(guī)則。 想想就很激動啊 诱咏。

前面我說過 Gradle是一個構建工具苔可,但不局限于一種開發(fā)平臺。它類似于一個開發(fā)框架袋狞,也有自己的語言”Groovy語言“焚辅,有一些自己的基礎功能映屋。然后根據各平臺基于它的框架去開發(fā)定制自己編譯和打包規(guī)則。 像我們自動下載依賴包的這個功能就是Gradle自己帶的同蜻,而Gradle之所以能夠編譯和打包android項目棚点,是因為Google團隊在Gradle的基礎上擴展了一個Android的gradle插件。 當然還有很多流行的Gradle插件湾蔓,類似于java 插件等等瘫析。這點需要重點理解。 Gradle是Gradle ,android gradle插件是android gradl插件,不能混為一談默责。這個我們在下一章的"Gradle 系列第二講-android studio中的四個Gradle文件功能講解“”中具體說明贬循。

小結一下:
這章其實重點要理解這兩點:

  1. Gradle 是一個構建工具,也是一個開發(fā)框架桃序,基于Groovy語言杖虾。 我們可以通過Groovy語言去寫自己的Gradle插件,也可以去編寫指定的腳本去改變構建規(guī)則媒熊。
  2. android studio中gradle之所以能夠構建android工程奇适,是因為有基于android的gradle插件。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末芦鳍,一起剝皮案震驚了整個濱河市嚷往,隨后出現的幾起案子,更是在濱河造成了極大的恐慌怜校,老刑警劉巖间影,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異茄茁,居然都是意外死亡魂贬,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門裙顽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來付燥,“玉大人,你說我怎么就攤上這事愈犹〖疲” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵漩怎,是天一觀的道長勋颖。 經常有香客問我,道長勋锤,這世上最難降的妖魔是什么饭玲? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮叁执,結果婚禮上茄厘,老公的妹妹穿的比我還像新娘矮冬。我一直安慰自己,他們只是感情好次哈,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布胎署。 她就那樣靜靜地躺著,像睡著了一般窑滞。 火紅的嫁衣襯著肌膚如雪琼牧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天葛假,我揣著相機與錄音障陶,去河邊找鬼。 笑死聊训,一個胖子當著我的面吹牛抱究,可吹牛的內容都是我干的。 我是一名探鬼主播带斑,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼鼓寺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了勋磕?” 一聲冷哼從身側響起妈候,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挂滓,沒想到半個月后苦银,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡赶站,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年吸祟,在試婚紗的時候發(fā)現自己被綠了焰枢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡省古,死狀恐怖乳绕,靈堂內的尸體忽然破棺而出褪子,到底是詐尸還是另有隱情百揭,我是刑警寧澤塞俱,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站渣窜,受9級特大地震影響铺根,放射性物質發(fā)生泄漏。R本人自食惡果不足惜乔宿,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一夷都、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧予颤,春花似錦囤官、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驳庭,卻和暖如春刑顺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饲常。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工蹲堂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贝淤。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓柒竞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親播聪。 傳聞我的和親對象是個殘疾皇子朽基,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評論 6 342
  • Android Studio作為Android應用開發(fā)的官方IDE,默認使用Gradle作為構建工具离陶,所以對于An...
    feil0n9wan9閱讀 1,655評論 1 6
  • 原文鏈接 前言 網上關于Gradle的教程很多稼虎,但很多都是以“面”切入— 通過大量講解其用法及其API分類來闡述。...
    adison閱讀 2,757評論 7 67
  • 早上起來,看著露露又把被子曬在陽臺沉眶。想著要不要讓他豎過來曬打却。卻不想跟他講話。于是在411曬了蓋被沦寂,在413曬了床墊...
    樸菘菘麻麻閱讀 308評論 0 0