Android Gradle 插件Gradle 构建机制 ③ ( settings.gradle 生成 Settings 对象 | build.gradle 生成 Project 对象 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle 插件Gradle 构建机制 ③ ( settings.gradle 生成 Settings 对象 | build.gradle 生成 Project 对象 )相关的知识,希望对你有一定的参考价值。

文章目录





一、settings.gradle 生成 Settings 对象



settings.gradle 配置文件 最终会生成一个 org.gradle.api.initialization.Settings 对象 ,

include 就是该 Settings 对象中的方法 ,

void include(String... var1);

rootProject 是调用 Settings 对象中的属性 , 对应的方法为

ProjectDescriptor getRootProject();

org.gradle.api.initialization.Settings 配置 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/Settings.html
( 参考 【Android Gradle 插件】Gradle 参考文档收集 ( 持续更新 ) ★★ 博客 )





二、build.gradle 生成 Project 对象



android Studio 工程中 , 除了在工程根目录有 build.gradle 构建脚本 作为 Gradle 构建的入口之外 , 在每个子模块 Module 中 , 也存在一个 build.gradle 构建脚本 , 这些都是 Gradle 构建的入口脚本 ;

build.gradle 构建脚本 是在配置阶段执行的脚本 ;


settings.gradle 配置文件 最终会生成一个 org.gradle.api.initialization.Settings 对象 , 与之对应的是 build.gradle 构建脚本 在运行时会生成 org.gradle.api.Project 对象 ;

org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
( 参考 【Android Gradle 插件】Gradle 参考文档收集 ( 持续更新 ) ★★ 博客 )


在 Module 模块中的 build.gradle 构建脚本中调用 rootProject 就是调用的 最顶层 ( Android Studio 根目录中 ) 的 build.gradle 生成的 Project 对象 ;

最顶层的 build.gradle 构建脚本 中调用的方法 , 都是 Project 中的方法 ; 其中没有引入任何插件 ;

模块中的 build.gradle 构建脚本 中调用的方法 , 包括 Project 中的方法 , Android Gradle 插件中的方法 ;

在该构建脚本中引入了 Android Gradle 插件 ( com.android.application ) Kotlin 插件 ( kotlin-android ) , 其中

  • android 脚本块中的配置 , 就是 Android Gradle 插件中定义的 ;
  • pluginsdependencies 配置 是 Gradle 官方定义的配置 , 也就是 Project 中的方法 ;
plugins 
    id 'com.android.application'
    id 'kotlin-android'

以上是关于Android Gradle 插件Gradle 构建机制 ③ ( settings.gradle 生成 Settings 对象 | build.gradle 生成 Project 对象 )的主要内容,如果未能解决你的问题,请参考以下文章

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 扩展 )