androidgradle插件gradle构建机制③(settings.gradle生成settings对象|build.gradle生成project对象)(代码片段)

韩曙亮 韩曙亮     2022-12-05     628

关键词:

文章目录





一、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'

androidgradle插件gradle构建机制③(settings.gradle生成settings对象|build.gradle生成project对象)(代码片段)

文章目录一、settings.gradle生成Settings对象二、build.gradle生成Project对象一、settings.gradle生成Settings对象settings.gradle配置文件最终会生成一个org.gradle.api.initialization.Settings对象,include就是该Settings对象中的方法,voidinclude(String... 查看详情

androidgradle插件gradle构建机制②(groovy语言dsl特性|settings.gradle配置文件解析|配置子模块工程目录|顶层配置)(代码片段)

文章目录一、Groovy语言DSL特性二、settings.gradle配置文件解析1、配置子工程2、配置不同目录的子工程3、顶层配置Gradle构建工具的本质是Java应用程序,是运行在Java虚拟机上的;在空白的目录中执行该Gradle构建工具,可以生成一系列的... 查看详情

androidgradle插件gradle自动化构建①(gradle构建工具简介|gradle构建工具用途)

文章目录一、Gradle构建工具简介二、Gradle构建工具用途一、Gradle构建工具简介在最开始Android开发时,使用Eclipse+ADT进行开发,使用的是Ant构建工具进行构建;常用的构建工具有AntMavenGradle在Android开发中,Gradle构建工具是必须要精通... 查看详情

androidgradle插件gradle构建生命周期②(gradle类的添加构建生命周期监听器函数|gradle#addlistener函数)(代码片段)

文章目录一、Gradle#addProjectEvaluationListener函数二、Gradle#addBuildListener函数三、Gradle#addListener函数AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参 查看详情

androidgradle插件与gradle的区别(代码片段)

欢迎阅读gradle插件使用指南!本文概要Gradle和Gradle插件的联系与区别Gradle插件有哪些类型?Gradle和Gradle插件的联系与区别Gradle是一种构建工具,能够简化你的编译、打包、测试过程。传统的构建工具还有Maven、Ant+Iv... 查看详情

androidgradle插件androidmodule模块build.gradle构建脚本groovy语法分析①(gradle二进制插件引入|gradle依赖配置)(代码片段)

文章目录一、Module模块build.gradle构建脚本示例二、Gradle二进制插件引入三、Gradle依赖配置AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.android... 查看详情

androidgradle插件androidmodule模块build.gradle构建脚本groovy语法分析①(gradle二进制插件引入|gradle依赖配置)(代码片段)

文章目录一、Module模块build.gradle构建脚本示例二、Gradle二进制插件引入三、Gradle依赖配置AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.android... 查看详情

androidgradle插件gradle自定义plugin插件⑥(在buildsrc模块中依赖androidgradle插件|完整代码示例)(代码片段)

文章目录一、在buildSrc模块中依赖AndroidGradle插件二、完整代码示例AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.android.google.cn/studio/build/depend... 查看详情

androidgradle插件gradle自定义plugin插件⑥(在buildsrc模块中依赖androidgradle插件|完整代码示例)(代码片段)

文章目录一、在buildSrc模块中依赖AndroidGradle插件二、完整代码示例AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.android.google.cn/studio/build/depend... 查看详情

androidgradle插件开发基础(代码片段)

什么是Gradle在Gradle官方文档上是这么描述的:Gradle是一种开源构建自动化工具,其设计足够灵活,几乎可以构建任何类型的软件。Gradle允许您构建任何软件,因为它对您尝试构建的内容或应该如何完成几乎没有做... 查看详情

androidgradle插件开发基础(代码片段)

什么是Gradle在Gradle官方文档上是这么描述的:Gradle是一种开源构建自动化工具,其设计足够灵活,几乎可以构建任何类型的软件。Gradle允许您构建任何软件,因为它对您尝试构建的内容或应该如何完成几乎没有做... 查看详情

androidgradle插件开发基础(代码片段)

什么是Gradle在Gradle官方文档上是这么描述的:Gradle是一种开源构建自动化工具,其设计足够灵活,几乎可以构建任何类型的软件。Gradle允许您构建任何软件,因为它对您尝试构建的内容或应该如何完成几乎没有做... 查看详情

androidgradle插件gradle构建工具简介②(android项目构建打包流程|构建工具发展->手动配置->ant->maven->gradle)

文章目录一、Android项目构建打包流程二、构建工具发展(手动配置->Ant->Maven->Gradle)一、Android项目构建打包流程Android项目构建参考:【Android安装包优化】APK打包流程(文件结构|打包流程|安装流程|安卓虚拟机)【字节码插桩】A... 查看详情

androidgradle插件组件化中的gradle构建脚本实现⑤(优化gradle构建脚本|构建脚本结构|闭包定义及用法|依赖配置|android块配置)(代码片段)

...配置七、Gradle核心构建脚本完整配置代码在上一篇博客【AndroidGradle插件】组 查看详情

androidgradle插件组件化中的gradle构建脚本实现③(在gradle构建脚本中实现androidmanifest.xml清单文件切换设置)(代码片段)

...中实现AndroidManifest.xml清单文件切换设置在上一篇博客【AndroidGradle插件】组件化中的Gradle构建脚本实现①(组件化简介|创建组件化应用|依赖库模块/应用 查看详情

androidgradle插件组件化中的gradle构建脚本实现④(使用路由实现组件间通信|引入aroute框架|gradle构建脚本优化问题)(代码片段)

...用路由实现组件间通信二、抽取构建脚本在上一篇博客【AndroidGradle插件】组件化中的Gradle构建脚本实现①(组件化简介|创建组件化应用|依赖库模块/应用模块切换设置)最后提到了在Gradle构建脚本中,需要实现依赖库模块/应用模块... 查看详情

androidgradle插件gradle构建生命周期①(分析构建脚本|执行初始化配置|执行gradle任务|project#beforeevaluate函数)(代码片段)

文章目录一、Gradle构建生命周期二、Project#afterEvaluate函数三、Project#beforeEvaluate函数AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.a 查看详情

androidgradle插件gradle自定义plugin插件⑤(自定义插件中获定义方法|在插件中创建gradle任务|代码示例)(代码片段)

...参考文档:https://developer.android.google.cn/studio/build/dependenciesAndroidGradle插件配置与Gradle配置关联:【AndroidGradle插件】Gradle依赖管理①(org.gradle.api.Project配置|AndroidGradle插件配置与Gradle配置关联)★AndroidGradle插件文档主页:https://google.github... 查看详情