為什么是Gradle沈堡? -- Gradle教程(一)

原文鏈接:http://www.woaitqs.cc/gradle/2016/12/20/android-gradle-1.html


開發(fā) Android 的同時,也應(yīng)該了解其構(gòu)建構(gòu)建工具击吱。特別是在實際的生產(chǎn)開發(fā)項目中虑椎,對于需要分發(fā)的包有各式各樣的需求,靈活應(yīng)用構(gòu)建工具將會極大地提升生產(chǎn)效率纲爸,另一方面亥鸠,在日常開發(fā)中,對構(gòu)建工具的了解识啦,也能幫你省去不少額外工作读虏。Gradle 他是你最親密的戰(zhàn)友之一,好好珍惜他袁滥。


Android 構(gòu)建過程

Android 系統(tǒng)在構(gòu)建的時候盖桥,需要將源碼和資源文件打包進入APK中,然后進行簽名题翻,部署和分發(fā)揩徊。下圖是對這個過程的簡要說明,接下來具體說下執(zhí)行的步驟嵌赠。

Android 打包過程
  1. 編譯器將源代碼編譯成 Dex 文件(Android 平臺特定的格式)塑荒。
  2. 打包器將上一步編譯好的 Dex 文件和對應(yīng)的資源文件打包到同一 APK 文件中。
  3. 在這個 APK 部署到目標設(shè)備之前姜挺,必須要進行簽名齿税。如果是 Debug 版本,那么就會對應(yīng)著有 Debug 版本的簽名炊豪,通常情況下凌箕,這部分簽名可以由 Android Studio 來提供。如果是 Release 版本的話词渤,就需要提供對應(yīng)的 Release 版本的 Keystore牵舱。
  4. 在最后生成 APK 之前,Zipalign 會優(yōu)化下 APK 的包結(jié)構(gòu)缺虐,節(jié)省一點的空間芜壁。

為什么要用 Gradle

在前面的步驟里面可以看到,Android APK 打包的過程比較復(fù)雜,牽涉到的環(huán)節(jié)也非常地多慧妄。我們可以想象在打包過程中有哪些可以進行自定義的部分顷牌。例如多渠道、簽名塞淹、打包類型等等太多了韧掩,當這些變量分子太多時,就需要一個足夠強大的打包工具了窖铡。Gradle 就是其中的佼佼者疗锐。

Gradle 擁有如下的優(yōu)點:

  • 腳本語言,非常靈活费彼,沒有之一滑臊。
  • 支持多 Project、多 Model 的配置箍铲,能夠讓層次更加鮮明雇卷。
  • 非常強大的DSL (Domain Specific Language) ,領(lǐng)域相關(guān)語言颠猴,在 DSL 幫助下能幫我們省去很多額外工作关划。(例如 Android、Java 這些都是領(lǐng)域翘瓮,DSL 在針對這些領(lǐng)域做的工作)贮折。
  • 采用了 Groovy 這個動態(tài)語言,相對 Ant资盅、Maven 支持更多高階屬性调榄。

當然 Android 采用 Gradle 的最主要原因是 Google 喜歡,233333.

Gradle Logo

關(guān)于 Gradle 所采用的語言 Groovy呵扛,將在下一篇文章中做講解每庆,有興趣的同學可以看看這篇文章。 Learn Groovy in Y Minutes

可能有同學問為什么不直接講 Gradle 的命令就好了今穿?我的理由是缤灵,不會 Groovy,你無法深入了解 Gradle蓝晒,對這個強大的構(gòu)建工具將會始終流于表面腮出。同樣,Groovy 這種動態(tài)語言的編程范式拔创,也會幫助大家開另一扇窗利诺,看看外面更大更遼闊的世界。


文檔信息


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剩燥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌灭红,老刑警劉巖侣滩,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異变擒,居然都是意外死亡君珠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門娇斑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來策添,“玉大人,你說我怎么就攤上這事毫缆∥ㄖ瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵苦丁,是天一觀的道長浸颓。 經(jīng)常有香客問我,道長旺拉,這世上最難降的妖魔是什么产上? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蛾狗,結(jié)果婚禮上晋涣,老公的妹妹穿的比我還像新娘。我一直安慰自己沉桌,他們只是感情好姻僧,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒲牧,像睡著了一般撇贺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰抢,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天松嘶,我揣著相機與錄音,去河邊找鬼挎扰。 笑死翠订,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的遵倦。 我是一名探鬼主播尽超,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼梧躺!你這毒婦竟也來了似谁?” 一聲冷哼從身側(cè)響起傲绣,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巩踏,沒想到半個月后秃诵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡塞琼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年菠净,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彪杉。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡毅往,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出派近,到底是詐尸還是另有隱情攀唯,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布构哺,位于F島的核電站革答,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏曙强。R本人自食惡果不足惜残拐,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碟嘴。 院中可真熱鬧溪食,春花似錦、人聲如沸娜扇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀瓢。三九已至枢析,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刃麸,已是汗流浹背醒叁。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泊业,地道東北人把沼。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像吁伺,于是被迫代替她去往敵國和親饮睬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,095評論 25 707
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項篮奄,請點擊這里進行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,131評論 8 72
  • 轉(zhuǎn)載注明出處:http://www.reibang.com/p/5255b100930e 0. 前言 完全由個人翻...
    王三的貓阿德閱讀 2,515評論 0 4
  • Gradle對于很多開發(fā)者來說有一種既熟悉又陌生的感覺捆愁,他是離我們那么近割去,以至于我每天做項目都需要他,但是他又是離...
    阿_希爸閱讀 9,575評論 10 199
  • 最近睡著后胁附,不管中午還是晚上,好像身體某個部位滓彰,之前好像是腿部控妻,昨晚好像是心,突然被電擊一樣揭绑,意識里弓候,整個人猛烈地...
    夕月?lián)u籃閱讀 182評論 3 1