AndroidStudio中build.gradle文件解讀

整個(gè)項(xiàng)目中的build.gradle文件

AndroidStudio 3.0版本之前:

一般效果如圖:

P78UD@R4LC_5)N1X)((9)G7.png

1
在這個(gè)文件中你可以給此project中的所有的moudle配置公共基礎(chǔ)選項(xiàng)。

2 buildscript閉包
表示配置gradle腳本執(zhí)行所需要的信息
其中的repositories閉包表示指定代碼托管庫(或者說是倉庫的源),這里指定倉庫源是jcenter,
簡(jiǎn)單來講可以說是網(wǎng)址的頭怕享,翻譯過來就是 :https://jcenter.bintray.com(不標(biāo)準(zhǔn))
其中dependencies:表示依賴性帚称,這里指定的是'com.android.tools.build:gradle:2.3.1'
如果需要的話敷扫,gradle下載對(duì)應(yīng)版本的Gradle突诬。如果使用gradle wrapper的話呐舔,感覺這個(gè)配置會(huì)被忽略矫俺。Wrapper會(huì)自己去下載所使用的gradle版本吱殉。
其實(shí)jcenter 就是 Android library 文件服務(wù)器中的其中一個(gè),另外一個(gè)就是 Maven Central厘托,這兩個(gè)都是Maven 倉庫友雳。 jcenter 由 bintray.com 維護(hù) , Maven Central 則是由 sonatype.org 維護(hù)铅匹,它們分別存儲(chǔ)在不同的服務(wù)器押赊。

allprojects閉包
表示配置的是所有的工程;
并且通過dependencies指定項(xiàng)目的代碼托管庫包斑,設(shè)置之后可以輕松在項(xiàng)目中引用jcenter中開源項(xiàng)目流礁。

task clean
運(yùn)行g(shù)radle clean時(shí),執(zhí)行此處定義的task罗丰。
該任務(wù)繼承自Delete神帅,刪除根目錄中的build目錄。
相當(dāng)于執(zhí)行Delete.delete(rootProject.buildDir)萌抵。

AndroidStudio 3.0版本之后:

圖片er.png

1
你會(huì)發(fā)現(xiàn)找御,指定的庫閉包里面多了一個(gè)google(),表明AS可以直接從google()庫中下載自己需要的內(nèi)容了。

具體某個(gè)mudle中的build.gradle文件

圖片三.png

apply plugin
表示使用插件绍填,
'com.android.application'表示指定當(dāng)前項(xiàng)目是一個(gè)應(yīng)用霎桅。
該插件一般有兩種值可選:一種為'com.android.application',表示該模塊為應(yīng)用程序模塊讨永,可以直接運(yùn)行滔驶;另一種為'com.android.library',表示該模塊為庫模塊卿闹,只能作為代碼庫依附于別的應(yīng)用程序模塊來運(yùn)行揭糕。

android閉包
用于配置當(dāng)前項(xiàng)目的屬性。

compileSdkVersion:指定項(xiàng)目的編譯版本锻霎,表示API的版本號(hào)如圖表示是1~25
buildToolsVersion:指定項(xiàng)目的構(gòu)建版本,如打包工具之類的
你可以用高版本的ToolsVersion去編譯低版本的SdkVersion插佛,反之不可以。
對(duì)這個(gè)項(xiàng)目進(jìn)行細(xì)節(jié)上配置
defaultConfig:{
                          applicationId:應(yīng)用的包名
                          minSdkVersion:項(xiàng)目最低兼容版本
                          targetSdkVersion:表示項(xiàng)目已經(jīng)在當(dāng)前版本上進(jìn)行了充分測(cè)試,系統(tǒng)才會(huì)開啟新的版本特性,
                          也就是說诱渤;若指定targetSdkVersion值為22暂刘,則表示該程序最高只在Android5.1版本上做過充
                          分測(cè)試锨侯,在Android6.0系統(tǒng)上(對(duì)應(yīng)targetSdkVersion為23)擁有的新特性如系統(tǒng)運(yùn)行時(shí)權(quán)限等功能就不會(huì)被啟用
                          versionCode:版本號(hào)
                          versionName:版本名稱
                          testIntrumentationRunner:為了進(jìn)行單元化測(cè)試
}
生成安裝文件的主要配置
buildTypes{
                      表示的是發(fā)布正式版本
                        release{
                                      minifyEnabled:表示是否混淆
                                       proguardFiles:表示指定混淆文件
                          }
}

dependencies閉包
指定本項(xiàng)目的依賴關(guān)系嫩海,分為三種形式的依賴,
compile fileTree:一個(gè)本地依賴聲明囚痴,表示將libs目錄下所有.jar后綴的文件都添加到項(xiàng)目的構(gòu)建路徑當(dāng)中叁怪。

compile:遠(yuǎn)程依賴,AS會(huì)去jcenter()這種庫源中去下載所需要的內(nèi)容深滚。

compile project(':honjane-demo-library') 庫依賴

testCompile:聲明測(cè)試用例庫

androidTestCompile:測(cè)試用例庫奕谭。

在3.0 版本上的變化

圖片4.png

在dependencies中
implement 和api代替了compile
其中,api 完全等于compile,沒有區(qū)別
implement 指令有自己的好處:對(duì)于使用了該命令編譯的依賴痴荐,對(duì)該項(xiàng)目有依賴的項(xiàng)目將無法訪問到使用該命令編譯的依賴中的任何程序血柳,也就是將該依賴隱藏在內(nèi)部,而不對(duì)外部公開生兆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末难捌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸦难,更是在濱河造成了極大的恐慌根吁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件合蔽,死亡現(xiàn)場(chǎng)離奇詭異击敌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拴事,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門沃斤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挤聘,你說我怎么就攤上這事⊥背梗” “怎么了组去?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)步淹。 經(jīng)常有香客問我从隆,道長(zhǎng),這世上最難降的妖魔是什么缭裆? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任键闺,我火速辦了婚禮,結(jié)果婚禮上澈驼,老公的妹妹穿的比我還像新娘辛燥。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布挎塌。 她就那樣靜靜地躺著徘六,像睡著了一般。 火紅的嫁衣襯著肌膚如雪榴都。 梳的紋絲不亂的頭發(fā)上待锈,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音嘴高,去河邊找鬼竿音。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拴驮,可吹牛的內(nèi)容都是我干的春瞬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼莹汤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼快鱼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纲岭,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤抹竹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后止潮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窃判,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年喇闸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袄琳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燃乍,死狀恐怖唆樊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刻蟹,我是刑警寧澤逗旁,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站舆瘪,受9級(jí)特大地震影響片效,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜英古,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一淀衣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧召调,春花似錦膨桥、人聲如沸蛮浑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陵吸。三九已至,卻和暖如春介牙,著一層夾襖步出監(jiān)牢的瞬間壮虫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工环础, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留囚似,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓线得,卻偏偏與公主長(zhǎng)得像饶唤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贯钩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,160評(píng)論 25 707
  • Android Studio是采用Gradle來構(gòu)建項(xiàng)目的募狂,一個(gè)Android項(xiàng)目中包含兩個(gè)build.gradl...
    sunnygarden閱讀 10,495評(píng)論 4 12
  • 文|千若鳶 來不及揮手,便要與你說再見離別的話語咽在喉中吗坚,再也說不出口未曾想過分別的今日祈远,是如此快的到來。再見商源,我...
    千若鳶閱讀 254評(píng)論 1 4
  • 如今多數(shù)企業(yè)都會(huì)對(duì)員工進(jìn)行企業(yè)文化內(nèi)訓(xùn)车份。那么,企業(yè)文化內(nèi)訓(xùn)應(yīng)該怎么做牡彻?講師約(微信公眾號(hào):china_jsy)告訴...
    fengtian89閱讀 184評(píng)論 0 1
  • “在場(chǎng)手帳圈的小伙伴請(qǐng)舉個(gè)手”看到你們了扫沼,我給你們一個(gè)小任務(wù),在這場(chǎng)演講結(jié)1束讨便,你們把你身邊的小伙伴安利入坑好嗎充甚?...
    L要做自己閱讀 305評(píng)論 0 0