一.项目和任务
每个build.gradle文件都代表着一个项目。一个项目里有一个或多个任务。一个任务里有一系列动作对象。
二.构建生命周期
初始化:创建项目实例,如果有多个build.gradle文件,就创建多个项目实例。
配置: 执行构建脚本,为每个项目实例创建和配置任务
执行:执行task
三.settings文件
settings文件在初始化阶段被执行,并且定义了哪些模块应该包含在构建内。
在这背后,Gradle会为settings文件创建一个setting对象,并调用相关方法。
四.android代码块属性
compileSdkVersion 用来编译应用的Android API版本
buildToolsVersion 构建工具和编译器使用的版本
五.Android任务
assemble:为每个构建版本创建一个APK.
clean:删除所有的构建内容
check:运行Lint检查,如果Lint发现问题,则终止构建
build:同时运行assemble和check
六.构建变体
构建变体是构建类型和product flavor结合的结果。android gradle 插件会为每一个构建变体创建任务。
七.创建任务
task('hello')<<{
println 'hello,world'
}
tasks.create(name:'hello')<<{
println 'hello,world'
}
task的两种依赖关系mustrunafter和depends on的区别。
mustrunafter只是指定task的依赖关系,你仍然可以独立执行task。
而depends on则是依赖关系。