原文
1 理解Gradle
Android Studio Project基于Gradle腳本構(gòu)建功咒,Gradle基于Groovy阳谍。
在grade中的兩大重要的概念播歼,分別是project和tasks模蜡。每一個build.grade文件代表著一個project辱揭,每一次構(gòu)建都是有至少一個project來完成。tasks在build.gradle中定義背伴,每個project有至少一個tasks沸毁。當初始化構(gòu)建進程,gradle會集合所有的project和tasks,一個tasks包含了一系列動作傻寂,一個動作就是一段被執(zhí)行的代碼息尺,然后它們將會按照順序執(zhí)行。
2 Gradle 構(gòu)建過程
初始化階段:
創(chuàng)建project實例疾掰,有幾個build.gradle文件搂誉,就會創(chuàng)建幾個project。
配置階段:
build.gradle腳本將會執(zhí)行静檬,為每個project創(chuàng)建和配置所有的tasks炭懊。
執(zhí)行階段:
這一階段,gradle會決定哪一個tasks會被執(zhí)行拂檩,哪一個tasks會被執(zhí)行完全依賴開始構(gòu)建時傳入的參數(shù)和當前所在的文件夾位置有關(guān)侮腹,不包含依賴的Tasks總是優(yōu)先執(zhí)行。
3 build.gradle的配置文件
實際構(gòu)建開始的地方:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
}```
構(gòu)建腳本定義了一個Android構(gòu)建工具——Android plugin稻励,它提供了所有需要去構(gòu)建和測試的應(yīng)用父阻。Android應(yīng)用模塊需要這么一個插件:
apply plugin: 'com.android.application'```
依賴庫模塊應(yīng)該使用
apply plugin: 'com.android.library'```
4 項目結(jié)構(gòu)
略
5 Gradle Wrapper
Gradle Wrapper提供了一個windows的batch文件和其他系統(tǒng)的shell文件,當你使用這些腳本的時候,當前gradle版本將會被下載加矛,在mac上你只需要運行g(shù)radlew履婉,而在windows上你只需要運行g(shù)radlew.bat。
6 構(gòu)建命令
略
7
在grade文件中配置斟览,將會保存eclipse目錄結(jié)構(gòu)
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
androidTest.setRoot('tests')
}
}```
依賴jar包毁腿,你需要告訴gradle它在哪兒,假設(shè)jar包會在一個叫做libs的文件夾內(nèi)趣惠,那么你應(yīng)該這么配置
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}```
將libs文件夾中所有的jar文件視為依賴包