Gradle 内置支持依赖项管理

gradle basic 7

依赖项管理是一种自动化的技术,用于声明和解析项目所需的外部资源。

Gradle 构建脚本定义了构建可能需要外部依赖项的项目的流程。依赖项是指支持构建项目的 JAR、插件、库或源代码。

版本目录

版本目录提供了一种在 libs.versions.toml 文件中集中你的依赖项声明的方法。

目录使在子项目之间共享依赖项和版本配置变得简单。它还允许团队在大型项目中强制执行库和插件的版本。

版本目录通常包含四个部分

  1. [版本] 声明插件和库将引用的版本号。

  2. [库] 定义构建文件中使用的库。

  3. [捆绑包] 定义一组依赖项。

  4. [插件] 定义插件。

[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" }

该文件位于 gradle 目录中,以便 Gradle 和 IDE 可以自动使用它。版本目录应检入源代码管理:gradle/libs.versions.toml

声明你的依赖项

要向你的项目添加依赖项,请在 build.gradle(.kts) 文件的 dependencies 块中指定一个依赖项。

以下 build.gradle.kts 文件使用上面的版本目录向项目添加了一个插件和两个依赖项

plugins {
   alias(libs.plugins.androidApplication)  (1)
}

dependencies {
    // Dependency on a remote binary to compile and run the code
    implementation(libs.googleMaterial)    (2)

    // Dependency on a remote binary to compile and run the test code
    testImplementation(libs.mockitoCore)   (3)
}
1 将 Android Gradle 插件应用于此项目,该插件添加了几个特定于构建 Android 应用的功能。
2 向项目添加 Material 依赖项。Material Design 提供了用于在 Android 应用中创建用户界面的组件。此库将用于编译和运行此项目中的 Kotlin 源代码。
3 向项目添加 Mockito 依赖项。Mockito 是用于测试 Java 代码的模拟框架。此库将用于编译和运行此项目中的测试源代码。

Gradle 中的依赖项按配置分组。

  • material 库被添加到 implementation 配置中,该配置用于编译和运行生产代码。

  • mockito-core 库被添加到 testImplementation 配置中,该配置用于编译和运行测试代码。

还有许多其他可用的配置。

查看项目依赖项

可以使用 ./gradlew :app:dependencies 命令在终端中查看依赖项树

$ ./gradlew :app:dependencies

> Task :app:dependencies

------------------------------------------------------------
Project ':app'
------------------------------------------------------------

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.google.android.material:material:1.1.0-alpha05 (n)

testImplementation - Implementation only dependencies for source set 'test'. (n)
\--- org.mockito:mockito-core:2.16.0 (n)

...

查阅依赖项管理章节以了解更多信息。

下一步: 了解任务 >>