因此,我在尝试从Android Studio运行项目时遇到错误。我已经找到了问题的几个答案,但其中一个提到从AS终端运行gradlew app:dependencies
。
我跑了,我不知道如何阅读一些结果。例如,我正在使用AWS的DynamoDB,根据他们的启动教程,我应该在我的构建文件中执行此操作:
dependencies {
compile 'com.amazonaws:aws-android-sdk-core:2.+'
compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
compile 'com.amazonaws:aws-android-sdk-s3:2.+'
compile 'com.amazonaws:aws-android-sdk-ddb:2.+'
}
app:dependencies
来电的结果包括:
\--- com.amazonaws:aws-android-sdk-ddb-mapper:2.+ -> 2.2.12
+--- com.amazonaws:aws-android-sdk-core:2.2.12 (*)
+--- com.amazonaws:aws-android-sdk-ddb:2.2.12 (*)
\--- com.amazonaws:aws-android-sdk-s3:2.2.12
\--- com.amazonaws:aws-android-sdk-core:2.2.12 (*)
我该怎么读?这是否意味着ddp-mapper包存在于sdk-core,sdk-ddb和sdk-s3中,或完全不同的其他内容?
答案 0 :(得分:3)
这里,嵌套意味着“传递依赖”。 aws-android-sdk-ddb-mapper
正在引入其他三个工件:aws-android-sdk-core
,aws-android-sdk-ddb
和
aws-android-sdk-s3
。后一个也具有传递依赖性,引入aws-android-sdk-core
。
现在,您会注意到aws-android-sdk-core
出现了很多。 Gradle知道这一点并将其归结为该依赖项的单个副本。