android build.gradle學(xué)習(xí)日志

詳解build.gradle

@(Alu)
AndroidStudio采用 Gradle 來構(gòu)建項目料祠。
Gradle是一個非常先進(jìn)的項目構(gòu)建工具塞弊,它使用一種基于 groovy 的領(lǐng)域特定語言(DSL)來聲明項目變更懈贺,摒棄了傳統(tǒng)基于 XML 的各種煩瑣位置盒至。
一般項目我們的 android 項目中會有兩個 build.gradle 文件,一個在最外層目錄下,一個在app 目錄下翩迈,這兩個文件對構(gòu)建 android studio 的項目都起了至關(guān)重要的 作用。

最外層的build.gradle

    buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'
}
}

    allprojects {
repositories {
    jcenter()
}
}

這些代碼都是自動生成的垦江,我們忽略結(jié)構(gòu)直接看最關(guān)鍵部分帽馋。

repositories 閉包中都聲明了 jcenter()進(jìn)行配置, jcenter() 是一個代碼托管倉庫比吭。聲明配置后绽族,就可以在項目中輕松引用任何 jcenter 上的開源項目了。

dependencies 閉包中 申明了一個 gradle 插件衩藤,用來構(gòu)建我們的 android 項目吧慢。

App包里的 build.gradle文件

 apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
defaultConfig {
    applicationId "com.example.test"
    minSdkVersion 14
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

compileOptions {
    incremental true
    targetCompatibility 1.8
    sourceCompatibility 1.8
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.0'
testCompile 'junit:junit:4.12'
}

這個文件里的內(nèi)容比較多,看起來比上一個 gradle 文件復(fù)雜的多赏表。

首先第一行代碼應(yīng)用了一個插件检诗。一般有兩種值可以選擇: com.android.application 表示這是一個應(yīng)用程序模塊,
com.android.library表明這是一個庫模塊瓢剿。應(yīng)用程序模塊和庫模塊的區(qū)別在于逢慌,前者可以直接運(yùn)行,后者只能作為代碼庫依附于別的程序模塊來運(yùn)行间狂。

接下來是一個大的 android閉包攻泼,這個閉包里,compileSdkVersion 用來指定項目的編譯版本。
buildToolVersion用來指定項目構(gòu)建工具的版本忙菠。
defaultConfig 閉包里何鸡,applicationId用于指定項目的包名,minSdkVersiontargetSdkVersion 分別表示最低兼容版本牛欢,和最適合版本骡男。versionCode用于指定版本號。

buildTypes閉包中minifyEnabled用于指定師傅對項目的代碼進(jìn)行混淆“茫現(xiàn)在是false隔盛,說明沒有混淆。
proguardFiles用于指定混淆 時使用的 混淆規(guī)則文件焰望。

下面這個 compileOptons 閉包表明我們編譯的 JDK 版本骚亿。

最后dependencies閉包的功能十分強(qiáng)大,它可以指定當(dāng)前項目的所有依賴關(guān)系熊赖。通常 Android stuido項目一共有三種依賴方式: 本地依賴、庫依賴虑椎、遠(yuǎn)程依賴震鹉。
對于上面的代碼來說:第一行 fileTree 為本地依賴,第二行'com.android.support:appcompat_v7:25.0.0' 為遠(yuǎn)程依賴捆姜,第三行用于聲明測試用例庫传趾。
庫依賴這里沒有用到一般格式為 compile project 后面加上要依賴的庫的名稱,就比如compile project(':help')
這句的意思就是依賴了一個名為helper 的庫泥技。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浆兰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子珊豹,更是在濱河造成了極大的恐慌簸呈,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件店茶,死亡現(xiàn)場離奇詭異蜕便,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贩幻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門轿腺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丛楚,你說我怎么就攤上這事族壳。” “怎么了趣些?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵仿荆,是天一觀的道長。 經(jīng)常有香客問我,道長赖歌,這世上最難降的妖魔是什么枉圃? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮庐冯,結(jié)果婚禮上孽亲,老公的妹妹穿的比我還像新娘。我一直安慰自己展父,他們只是感情好返劲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著栖茉,像睡著了一般篮绿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吕漂,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天亲配,我揣著相機(jī)與錄音,去河邊找鬼惶凝。 笑死吼虎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苍鲜。 我是一名探鬼主播思灰,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼混滔!你這毒婦竟也來了洒疚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤坯屿,失蹤者是張志新(化名)和其女友劉穎油湖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愿伴,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肺魁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了隔节。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹅经。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怎诫,靈堂內(nèi)的尸體忽然破棺而出瘾晃,到底是詐尸還是另有隱情,我是刑警寧澤幻妓,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布蹦误,位于F島的核電站劫拢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏强胰。R本人自食惡果不足惜舱沧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望偶洋。 院中可真熱鬧熟吏,春花似錦、人聲如沸玄窝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恩脂。三九已至帽氓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俩块,已是汗流浹背黎休。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玉凯,地道東北人奋渔。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像壮啊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子撑蒜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評論 25 707
  • 不同于 Eclispse歹啼,Android Studio 是采用 Gradle 來構(gòu)建項目的,Gradle 是一個非...
    QDJdeveloper閱讀 915評論 0 0
  • 參考 中文官網(wǎng)構(gòu)建指南:https://developer.android.google.cn/studio/bu...
    FinalSky閱讀 5,324評論 0 16
  • 寨子侖如何座菠,銀城景占多狸眼。 水秀山如黛,直上云天外浴滴, 四顧何茫茫拓萌,薄霧籠益陽。 山作龍聚首升略,江如帶繞城微王。 人間炊煙升...
    飛哥判案閱讀 542評論 0 5
  • 我常常會回憶過去,會認(rèn)為我上五年級的時候的懂事了品嚣,因?yàn)槟菚r我去鎮(zhèn)上念書了炕倘,開始住校,開始吃食堂翰撑,開始上晚自習(xí)罩旋。當(dāng)有...
    丑磊哥閱讀 221評論 0 1