Gradle目錄解析

Gradle目錄解析

Gradle 是以 Groovy 語言為基礎(chǔ)偎快,面向Java應(yīng)用為主◎嚷梗基于DSL(領(lǐng)域特定語言)語法的自動(dòng)化構(gòu)建工具滨砍。Gradle這個(gè)工具集成了構(gòu)建往湿,測(cè)試妖异,發(fā)布和其他,比如軟件打包领追,生成注釋文檔等功能他膳。之前eclipse使用ant進(jìn)行軟件的構(gòu)建功能,需要配置一大堆的xml绒窑,但是在gradle中就不需要了棕孙。

目前主流的打包方式有ant,maven,gradle。gradle是近幾年發(fā)展起來的自動(dòng)化構(gòu)建工具些膨,解決ant構(gòu)建上的繁瑣代碼蟀俊。比如在ant上發(fā)布多渠道的包,你需要自己寫腳本替換渠道名稱订雾,而在gradle中就不需要了肢预。已經(jīng)內(nèi)建支持多渠道打包。

Gradle的文件結(jié)構(gòu)

./build.gradle
./gradle.properties
./gradlew
./gradlew.bat
./local.properties
./setting.gradle
./XXX.iml
./app/build.gradle
./app/app.iml
./app/proguard-rules.pro

./builld.gradle 和 ./app/build.grade

gradle項(xiàng)目自動(dòng)編譯的時(shí)候要讀取的配置文件洼哎。比如指定項(xiàng)目的依賴包等烫映。build.grade有兩個(gè)沼本,一個(gè)是全局的,一個(gè)是在模塊里面锭沟。全局的build.grade主要設(shè)置的是聲明倉庫源抽兆,gradle的版本號(hào)說明等。

./build.gradle:

buildscript {
repositories {
// 聲明倉庫源族淮,比如我們構(gòu)建了一個(gè)安卓的庫辫红,現(xiàn)在想要把庫上傳到j(luò)center中供別人一起使用,則可以上傳到j(luò)center中
// 具體上傳步驟見:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html
jcenter()
}
dependencies {
// 說明gradle的版本號(hào)
classpath 'com.android.tools.build:gradle:1.3.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

// 所有項(xiàng)目都繼承這個(gè)配置
allprojects {
repositories {
mavenLocal()
jcenter()
}
}

./app/build.grade 設(shè)置了模塊的gradle構(gòu)建配置

// 說明這個(gè)模塊是安卓項(xiàng)目瞧筛,如果是多模塊開發(fā)厉熟,有可能有的值為java/war
apply plugin: 'com.android.application'

// 配置了所有android構(gòu)建的參數(shù)
android {
// 編譯使用SDK版本
compileSdkVersion 23
// 編譯工具的版本
buildToolsVersion "23.0.1"

defaultConfig {
// 包名
applicationId "com.awesomeproject"
// sdk最低支持版本
minSdkVersion 16
// 目標(biāo)SDK版本,如果目標(biāo)設(shè)備的API版本正好等于此數(shù)值较幌,就不會(huì)為此程序開啟兼容性檢查判斷的工作
targetSdkVersion 22
// 版本號(hào)
versionCode 1
versionName "1.0"
// 原生
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
buildTypes {
// 發(fā)布時(shí)候的設(shè)置
release {
// 是否進(jìn)行混淆
minifyEnabled false
// 混淆使用文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

// 依賴的工具包
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.facebook.react:react-native:0.11.+'
}

./app/proguard-rules.pro

這個(gè)和上面說的一樣混淆文件

./gradle.properties

grade的運(yùn)行環(huán)境配置揍瑟,比如使用多少內(nèi)存之類的。

./gradlew 和 ./gradlew.bat

自動(dòng)完成 gradle 環(huán)境的腳本乍炉,在linux和mac下直接運(yùn)行g(shù)radlew會(huì)自動(dòng)完成gradle環(huán)境的搭建绢片。

./local.properties#

配置SDK或者NDK的環(huán)境路徑,各個(gè)機(jī)器上這個(gè)變量可能都是不一樣的岛琼,所以不應(yīng)該進(jìn)入版本庫

./setting.gradle#

整個(gè)項(xiàng)目的管理底循,比如這個(gè)項(xiàng)目包含哪些模塊等。

./XXX.iml 和 ./app/app.iml#

iml是Intellij模塊文件槐瑞。Intellij是一款JAVA的IDE熙涤。Android Studio是基于開源的Intellij IDEA開發(fā)出來的IDE。所以Android Studio有的IDE功能是需要有.iml才能使用的困檩。比如我們刪除了iml文件祠挫,可能就在Android Studio中看不到一些目錄了。
參考
IDEA 及 Gradle 使用總結(jié)[使用 Gradle 管理你的 Android Studio 工程]
(http://www.open-open.com/lib/view/open1437144995334.html)[史上最詳細(xì)的Android Studio系列教程四--Gradle基礎(chǔ)]
(http://segmentfault.com/a/1190000002439306)用Gradle 構(gòu)建你的android程序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末悼沿,一起剝皮案震驚了整個(gè)濱河市等舔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糟趾,老刑警劉巖慌植,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異义郑,居然都是意外死亡蝶柿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門非驮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來交汤,“玉大人,你說我怎么就攤上這事院尔◎哒梗” “怎么了喉誊?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)纵顾。 經(jīng)常有香客問我伍茄,道長(zhǎng),這世上最難降的妖魔是什么施逾? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任敷矫,我火速辦了婚禮,結(jié)果婚禮上汉额,老公的妹妹穿的比我還像新娘曹仗。我一直安慰自己,他們只是感情好蠕搜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布怎茫。 她就那樣靜靜地躺著,像睡著了一般妓灌。 火紅的嫁衣襯著肌膚如雪轨蛤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天虫埂,我揣著相機(jī)與錄音祥山,去河邊找鬼。 笑死掉伏,一個(gè)胖子當(dāng)著我的面吹牛缝呕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斧散,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼供常,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了颅湘?” 一聲冷哼從身側(cè)響起话侧,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤栗精,失蹤者是張志新(化名)和其女友劉穎闯参,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悲立,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鹿寨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了薪夕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脚草。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖原献,靈堂內(nèi)的尸體忽然破棺而出馏慨,到底是詐尸還是另有隱情埂淮,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布写隶,位于F島的核電站倔撞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏慕趴。R本人自食惡果不足惜痪蝇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冕房。 院中可真熱鬧躏啰,春花似錦、人聲如沸耙册。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详拙。三九已至想际,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間溪厘,已是汗流浹背胡本。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留畸悬,地道東北人侧甫。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蹋宦,于是被迫代替她去往敵國和親披粟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,499評(píng)論 25 707
  • 理解基本的Gradle 如果你想創(chuàng)建一個(gè)Android project基于gradle,那么你必須寫一個(gè)構(gòu)建腳本冷冗,...
    justCode_閱讀 268評(píng)論 0 0
  • Google引入Gradle和Android Studio時(shí)守屉,希望更容易的去重用代碼、創(chuàng)建構(gòu)造變體和配置蒿辙、自定義構(gòu)...
    sollian閱讀 3,307評(píng)論 0 10
  • 一句“來不及說再見” 無限感傷 無言 唯祝 一路平安 收拾一下濕潤(rùn)...
    日月貞明閱讀 200評(píng)論 0 0
  • 考研國家線發(fā)布了拇泛,有位和分?jǐn)?shù)線只差1分的學(xué)生找我聊天。每次談及只有1分之差的時(shí)候思灌,總會(huì)流露出惋惜之情俺叭。于是打算再復(fù)...
    馬_哲閱讀 405評(píng)論 0 0