“implementation deps.support.app_compat”中的“deps”是什么?
问题描述:
我一直在寻找到谷歌样品的新的架构组件,在那里我发现下面的代码:“implementation deps.support.app_compat”中的“deps”是什么?
dependencies {
// Support libraries
implementation deps.support.app_compat
implementation deps.support.v4
implementation deps.support.design
implementation deps.support.cardview
// Architecture components
implementation deps.lifecycle.runtime
implementation deps.lifecycle.extensions
annotationProcessor deps.lifecycle.compiler
implementation deps.room.runtime
annotationProcessor deps.room.compiler
// Android Testing Support Library's runner and rules
androidTestImplementation deps.atsl.runner
androidTestImplementation deps.atsl.rules
androidTestImplementation deps.room.testing
androidTestImplementation deps.arch_core.testing
// Espresso UI Testing
androidTestImplementation deps.espresso.core
androidTestImplementation deps.espresso.contrib
androidTestImplementation deps.espresso.intents
// Resolve conflicts between main and test APK:
androidTestImplementation deps.support.annotations
androidTestImplementation deps.support.v4
androidTestImplementation deps.support.app_compat
androidTestImplementation deps.support.design
}
我无法理解为什么他们写开始deps.*
所有的依赖。任何人都可以帮助我理解代码。提前致谢。 以下是回购的link。
答
deps
是被设置在project
实例,并在versions.gradle文件中定义的类Map
的一个实例。这versions.gradle
文件依次是applied根build.gradle
脚本,因此可以在子项目中使用deps
。
答
添加到@Opal建议。
DEPS是在项目中定义的占位符level.You可以here
发现它地说Dagger2,所述DEPS被定义为在versions.gradle文件,该文件是一个步骤的模块级以上如下。
*def dagger = [:]
dagger.runtime = "com.google.dagger:dagger:$versions.dagger"
dagger.android = "com.google.dagger:dagger-android:$versions.dagger"
.....
deps.dagger = dagger*
Image if code not well formatted
这样,它有助于其应用到项目中的所有模块的版本相同。 只有需要特定依赖项的模块才可以在它们的build.gradle定义中声明它。
它们在根目录下的'versions.gradle'文件中被声明为'deps' – Jovin