基本tasks
android插件依賴于Java插件,而Java插件依賴于Base插件
base插件有基本的tasks生命周期和一些通用的屬性
base插件定義了assemble task和clean task怀喉;Java插件定義check task 和build任務(wù)慕蔚。
task的約定含義:
assemble:集合所有的output
clean:清除所有的output
check:執(zhí)行所有的checks袍啡,一般是unit測(cè)試和instrumentation測(cè)試
build:執(zhí)行所有的assemble和check
Android tasks
Android插件繼承了上述的基本tasks修壕,并實(shí)現(xiàn)了它們的行為:
assemble:針對(duì)每個(gè)版本創(chuàng)建一個(gè)apk
clean:刪除所有的構(gòu)建任務(wù)缓窜,包含apk文件
check:執(zhí)行Lint檢查并能夠在檢測(cè)到錯(cuò)誤后停止執(zhí)行腳本
build:執(zhí)行assemble和check
Android插件還提供了一些新的tasks:
connectedCheck:在測(cè)試機(jī)上執(zhí)行所有測(cè)試任務(wù)
deviceCheck:在遠(yuǎn)程設(shè)備上執(zhí)行測(cè)試任務(wù)
installDebug/instasllRelease:在設(shè)備上安裝相對(duì)應(yīng)版本的apk
所有install task對(duì)應(yīng)的uninstall task
build task依賴于check任務(wù),但是不依賴于connectedCheck或者deviceCheck浪腐,執(zhí)行check任務(wù)的使用Lint會(huì)產(chǎn)生一些相關(guān)文件,這些報(bào)告可以在app/build/outputs中查看
Android Studio執(zhí)行Tasks
1纺弊、在Terminal輸入命令行執(zhí)行
2牛欢、在Gradle projects面板雙擊任務(wù)執(zhí)行
自定義BuildConfig
在模塊中的build.gradle文件中
android {
buildTypes {
debug {
buildConfigField "String", "API_URL", "\"http://www.baidu.com\""
buildConfigField "boolean", "LOG_HTTP_CALLS", "true"
}
release {
buildConfigField "String", "API_URL","\"http://www.baidu.com\""
buildConfigField "boolean", "LOG_HTTP_CALLS","false"
}
}
給不同版本定義常量,格式為:類型淆游,常量名傍睹,常量值,這些常量會(huì)在包名.buildConfig中生成
在代碼中使用這些常量:BuildConfig.常量名(例如:BuildConfig.API_URL)
參考資料: