Skip to content

依赖配置 (Configurations)

源:管理依赖项配置

Gradle 提供了不同的配置选项,用于控制依赖库在构建过程中的范围。

1. 核心配置对比

配置描述最佳实践
implementation仅当前模块可见。首选。能显著加快多模块项目的编译速度。
api依赖会向上传递。用于库(Library)模块,且该依赖是库 API 的一部分。
compileOnly只参与编译,不打入包。仅在编译时需要的注解或可选 SDK。
runtimeOnly仅在运行时可见。数据库驱动实现等不需要直接引用的库。

2. 传递依赖

当你依赖 A 库,而 A 库又依赖了 B 库,B 就是传递依赖。

查看依赖树

bash
./gradlew :app:dependencies

排除特定传递依赖

kotlin
implementation(libs.cool.library) {
    exclude(group = "com.unwanted.module", module = "bad-stuff")
}

3. 约束依赖版本

如果你想强制项目中所有模块都使用某个版本的库:

kotlin
dependencies {
    constraints {
        implementation("org.apache.httpcomponents:httpclient:4.5.12") {
            because("因为旧版本有安全漏洞")
        }
    }
}