一 gradle生命周期
1) 初始化阶段: 解析'整个工程中所有Project(不止一个project)','构建'所有的Project'对应的project对象'-->这个阶段'主要'就是'解析setting.gradle文件'
2) 配置阶段: 解析所有的'projects对象'中的'task','构建'好所有的'有向task拓扑图'-->这个阶段'主要'解析'各个project下'的'build.gradle文件'
3) 执行阶段: 执行'具体的的task'及其'依赖task'
① 初始化阶段
这个阶段会'执行settings.gradle文件','创建project树'
功能: 初始化阶段的任务'先读取'setting.gradle文件中'include的projects数量','然后'创建项目的'层次结构','并且'为每一个项目'创建一个Project实例'
② 配置阶段
初始化阶段'创建完了'project,然后便会按照'广度优先的顺序',针对'每个project对象',执行其中的'build.gradle脚本'
说明: 在gradle中,一个build.gradle文件会'被编译成proejct字节码',所以在build.gradle中编写的所有的代码'相当于'都是在'proejct中类内部'编写的
③ 执行阶段
④ 整个流程
强调: 执行任何'gradle命令',在'初始化'阶段和'配置'阶段的逻辑'都会被执行'
关于'project'只涉及 project.'before'Evalute和 project.'after'Evaluate
二 实践
'了解简写'即可,'不建议'简写
① 初始化的配置
注意: 是在'settings.gradle'中配置
② 项目配置阶段
说明: 'project.beforeEvaluate'没有执行,这里省略了'该步骤'
备注: 项目'配置'和'执行'阶段都是在'build.gradle'中声明的
③ 执行阶段
④ 配置代码和动作代码区别