dependencies { } 是 Gradle 構建腳本中**聲明項目依賴**的配置閉包。在其中指定項目編譯、運行、測試所需的外部庫 (AAR/JAR)、模塊依賴、本地文件依賴等。
dependencies {
// 遠程倉庫依賴 (Maven 坐標)
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.google.code.gson:gson:2.8.6'
// 本地模塊依賴
implementation project(':mylibrary')
// 本地 JAR/AAR 文件
implementation files('libs/custom.jar')
implementation(name: 'local-aar', ext: 'aar')
// 測試依賴
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
dependencies 是 Gradle DSL (基於 Groovy/Kotlin) 的特定配置塊,非控制流語句。if 條件編譯、for 循環批量添加依賴。
// 示例:按 flavor 條件依賴
if (project.hasProperty('flavor') && flavor == 'pro') {
implementation 'com.pro:feature:1.0'
}
// 批量添加本地 jars
fileTree(dir: 'libs', include: '*.jar').each { file ->
implementation files(file)
}
| 配置 | 用途 | 傳遞性 |
|---|---|---|
| implementation | 編譯+打包,不傳遞給消費者 | 否 |
| api | 編譯+打包+傳遞給消費者 | 是 |
| compileOnly | 僅編譯期需要,不打包 (如 Lombok) | 否 |
| runtimeOnly | 僅運行期需要 | 否 |