Gradle 内置了对依赖管理的支持。
依赖管理是一种用于声明和解析项目所需的外部资源的自动化技术。
Gradle 构建脚本定义了构建可能需要外部依赖项的项目的过程。依赖项是指支持构建项目的 JAR、插件、库或源代码。
版本目录
版本目录提供了一种将依赖项声明集中在libs.versions.toml
文件中的方法。
该目录使子项目之间共享依赖关系和版本配置变得简单。它还允许团队在大型项目中强制执行库和插件的版本。
版本目录通常包含四个部分:
-
[versions] 声明插件和库将引用的版本号。
-
[libraries] 定义构建文件中使用的库。
-
[bundles] 定义一组依赖项。
-
[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)
...
请参阅依赖管理章节以了解更多信息。
下一步: 了解任务>>