刚过了春节回来颓废了十几天,感觉自己啥都不会了,赶紧学点东西充实一下自己,哈哈
学完之后怕自己记不住后面忘掉,在这里记录一下,废话不多说开整...
一共分为三步:
1.初始化阶段
大概就是gradle需要收集本次构建的工程和子工程,增加层次结构并且都为每个工程创建project实例(和这个关系最大的就是setting.gradle文件)
2.配置阶段
这个阶段就是去执行各个工程下面的build.gradle文件
3.执行阶段
主要就是执行在第二阶段生成的任务依赖图
我们需要如何证明这些?
打开一个工程,找到根目录下的setting.gradle文件
gradle自带有生命周期的的代码
gradle.addBuildListener(new BuildListener() {
@Override
void settingsEvaluated(Settings settings) {
println("[left-cycle]初始化阶段已经完成")
}
@Override
void projectsEvaluated(Gradle gradle) {
println("[left-cycle]配置阶段已经完成")
}
@Override
void buildFinished(BuildResult buildResult) {
println("[left-cycle]工程构建结束")
}
@Override
void buildStarted(Gradle gradle) {
}
@Override
void projectsLoaded(Gradle gradle) {
}
})
首先证明第一点我们再打印一条日志
证明第二点我们在app目录下的build.gradle中再添加一个日志
此时我们使用命令执行一下
可以看到第一阶段,确实是先执行了setting中的代码,当setting中的代码执行完毕,就是初始阶段完成,开始走第二阶段,执行了app下面的build.gradle中的代码然后配置阶段就结束了
那么第三阶段?
我们需要创建一个任务来证明
然后再次执行一次gradle命令走一遍流程
可以看到第三点是再配置阶段完成之后才会去执行
我个人写博客是怕忘记自己学过的内容,特此记录一下