Gradle 内置了对依赖管理的支持。

等级基础 7

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

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

版本目录

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

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

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

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

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

  3. [bundles] 定义一组依赖项。

  4. [plugins] 定义插件。

[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)文件的依赖项块中指定依赖项。

以下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 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)

...

请参阅依赖管理章节以了解更多信息。

下一步: 了解任务>>