ray-note/工具相关文档/Gradle 笔记.md

2.4 KiB
Raw Blame History

  • settings file: gradleentry point
    • 对于单模块项目 settings 文件可选
    • 多模块项目 settings 文件用来声明和控制 子项目
    • 具体文件内容
    rootProject.name = "root-project" // 定义项目名称
    include("app") // 使用include引入subproject, 用来定义项目结构
    include("feature")
    plugins { // 
    	id("java") version "" // 引入插件,可选;
    }
    
  • build.gradle.kts : 每一个 gradle 的构建至少包含一个build脚本文件
    • plugins :构建需要的依赖,
      • 插件通过扩展Gradle来配置或着设置构建需要的task, 还可以用来进行依赖管理插件还会在build.gradle.kts 中添加新的属性或者方法来增加配置下面的application就是application插件定义的一个
    • application: 源码
  • 依赖管理
    • 依赖管理,用来声明和解析项目所需的外部资源(依赖项)。包括构建项目需要需要的jar、插件、库和源代码。
    • libs.versions.toml 版本目录
      • 所包含的部分
        • versions 定义插件和库文件的 版本数字
        • libraries 定义需要使用的依赖库
        • bundles
        • plugin 定义需要使用的插件
      • 举例如下
      [versions]
      androidGradlePlugin = "7.4.1"
      mockito = "2.16.0"
      
      [libraries]
      googleMaterial = { group = "com.google.android.material", name = "material", version = "1.1.0-alpha05" }
      mockitoCore = { module = "org.mockito:mockito-core", version.ref = "mockito" }
      
      [plugins]
      androidApplication = { id = "com.android.application", version.ref = "androidGradlePlugin" }
      
      • libs.versions.toml 文件放在gradle项目中的gradle目录下gradle 和 IDE都可以自动使用这个版本目录
      • build中引入依赖
        • 在使用了libs.versions.toml之后就可以使用libs.version.toml 中的定义的方式来引入依赖
      • 示例:
      plugins {
         alias(libs.plugins.androidApplication)  
      }
      
      dependencies {
          // Dependency on a remote binary to compile and run the code
          implementation(libs.googleMaterial)    
      
          // Dependency on a remote binary to compile and run the test code
          testImplementation(libs.mockitoCore)   
      }
      
  • Task
  • Plugin
  • 增量构建 + 缓存
    • 增量构建: 如果两次相同的构建之间,没有修改项目中的内容,则不会发生新的构建,而是打印出一个 UP-TO-DATE