文章目录
- 一、settings.gradle 生成 Settings 对象
- 二、build.gradle 生成 Project 对象
一、settings.gradle 生成 Settings 对象
settings.gradle 配置文件 最终会生成一个 org.gradle.api.initialization.Settings 对象 ,
include 就是该 Settings 对象中的方法 ,
代码语言:javascript复制void include(String... var1);
rootProject 是调用 Settings 对象中的属性 , 对应的方法为
代码语言:javascript复制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 插件中定义的 ;plugins
和dependencies
配置 是 Gradle 官方定义的配置 , 也就是 Project 中的方法 ;
plugins {
id 'com.android.application'
id 'kotlin-android'
}