一.項(xiàng)目和任務(wù)
每個(gè)build.gradle文件都代表著一個(gè)項(xiàng)目。一個(gè)項(xiàng)目里有一個(gè)或多個(gè)任務(wù)。一個(gè)任務(wù)里有一系列動(dòng)作對(duì)象。
二.構(gòu)建生命周期
初始化:創(chuàng)建項(xiàng)目實(shí)例,如果有多個(gè)build.gradle文件,就創(chuàng)建多個(gè)項(xiàng)目實(shí)例。
配置: 執(zhí)行構(gòu)建腳本,為每個(gè)項(xiàng)目實(shí)例創(chuàng)建和配置任務(wù)
執(zhí)行:執(zhí)行task
三.settings文件
settings文件在初始化階段被執(zhí)行,并且定義了哪些模塊應(yīng)該包含在構(gòu)建內(nèi)。
在這背后,Gradle會(huì)為settings文件創(chuàng)建一個(gè)setting對(duì)象,并調(diào)用相關(guān)方法。
四.android代碼塊屬性
compileSdkVersion 用來編譯應(yīng)用的Android API版本
buildToolsVersion 構(gòu)建工具和編譯器使用的版本
五.Android任務(wù)
assemble:為每個(gè)構(gòu)建版本創(chuàng)建一個(gè)APK.
clean:刪除所有的構(gòu)建內(nèi)容
check:運(yùn)行Lint檢查,如果Lint發(fā)現(xiàn)問題,則終止構(gòu)建
build:同時(shí)運(yùn)行assemble和check
六.構(gòu)建變體
構(gòu)建變體是構(gòu)建類型和product flavor結(jié)合的結(jié)果。android gradle 插件會(huì)為每一個(gè)構(gòu)建變體創(chuàng)建任務(wù)。
七.創(chuàng)建任務(wù)
task('hello')<<{
println 'hello,world'
}
tasks.create(name:'hello')<<{
println 'hello,world'
}
task的兩種依賴關(guān)系mustrunafter和depends on的區(qū)別。
mustrunafter只是指定task的依賴關(guān)系,你仍然可以獨(dú)立執(zhí)行task。
而depends on則是依賴關(guān)系。