Android Gradle 插件Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle 插件Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )相关的知识,希望对你有一定的参考价值。

文章目录

Android Plugin DSL Reference 参考文档 :





一、Gradle 构建生命周期



org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

org.gradle.api.initialization.Settings 配置 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/Settings.html


Gradle 构建生命周期 :

① 分析构建脚本 : 分析 Gradle 构建脚本 build.gradle , 生成构建脚本对应的 SettingsProject 类 ;

② 执行 初始化配置 ;

③ 执行 Gradle 任务 ;





二、Project#afterEvaluate 函数



Gradle 构建声明周期 是可以进行 Hook 的 , 在上一篇博客 【Android Gradle 插件】自定义 Gradle 任务 ⑯ ( 从任务容器 TaskContainer 中搜索 Gradle 任务 | 压缩 packageDebug 任务输出文件 ) 中使用的 Project#afterEvaluate 函数 就是在 ① 分析构建脚本② 执行 初始化配置 之间执行的方法 ;

// 在 Gradle 分析完成后执行
// 也就是生成了一系列的自带 Gradle 任务之后执行
afterEvaluate 
	// 执行 Gradle 分析完成之后的代码





三、Project#beforeEvaluate 函数



Project#afterEvaluate 函数 对应的是 Project#beforeEvaluate 函数 , 该函数是在 开始 进行 Gradle 分析构建脚本 之前 执行的 方法 , 函数原型如下 :

public interface Project extends Comparable<Project>, ExtensionAware, PluginAware 
    void beforeEvaluate(Closure var1);

    void afterEvaluate(Closure var1);

以上是关于Android Gradle 插件Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★

Android Gradle 插件Gradle 构建机制 ⑤ ( 在 Android Studio 中查看 Android Gradle 插件源码 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )