基本tasks
android插件依赖于Java插件,而Java插件依赖于Base插件
base插件有基本的tasks生命周期和一些通用的属性
base插件定义了assemble task和clean task;Java插件定义check task 和build任务。
task的约定含义:
assemble:集合所有的output
clean:清除所有的output
check:执行所有的checks,一般是unit测试和instrumentation测试
build:执行所有的assemble和check
Android tasks
Android插件继承了上述的基本tasks,并实现了它们的行为:
assemble:针对每个版本创建一个apk
clean:删除所有的构建任务,包含apk文件
check:执行Lint检查并能够在检测到错误后停止执行脚本
build:执行assemble和check
Android插件还提供了一些新的tasks:
connectedCheck:在测试机上执行所有测试任务
deviceCheck:在远程设备上执行测试任务
installDebug/instasllRelease:在设备上安装相对应版本的apk
所有install task对应的uninstall task
build task依赖于check任务,但是不依赖于connectedCheck或者deviceCheck,执行check任务的使用Lint会产生一些相关文件,这些报告可以在app/build/outputs中查看
Android Studio执行Tasks
1、在Terminal输入命令行执行
2、在Gradle projects面板双击任务执行
自定义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"
}
}
给不同版本定义常量,格式为:类型,常量名,常量值,这些常量会在包名.buildConfig中生成
在代码中使用这些常量:BuildConfig.常量名(例如:BuildConfig.API_URL)
参考资料: