我有项目A,曾经有模块A1,使用了dagger v.1.2.2。 现在我想添加到项目A,模块A2,它依赖于dagger v.2.0。 但我不能因为这两把匕首冲突而存在冲突。我可以在不同的Android模块中以某种方式处理多个版本的库吗?
答案 0 :(得分:2)
你不能同时拥有这两者。
您需要从依赖项中排除冲突的库:
configurations {
all*.exclude group: 'com.google.android', module: 'support-v4'
}
dependencies {
compile 'com.android.support:support-v4:13.0.0'
}
来自:https://github.com/stephanenicolas/robospice/issues/161
或强>
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
来自:https://docs.gradle.org/current/userguide/dependency_management.html#52.4.7
答案 1 :(得分:1)
为什么你不想保留它们?我不认为如果可能,你应该只去一个图书馆。在这里你应该使用最新的一个,因为我认为如果添加最新版本,那么旧版本并不重要。 看看这些链接,如果他们帮助你匕首......
Dagger dependencies when overriding graph with mock module causes NoClassDefFoundError
How to use dagger in a android library project
Dagger dependencies when overriding graph with mock module causes NoClassDefFoundError
答案 2 :(得分:0)
你需要排除dagger v.1.2.2库并让dagger v.2.0。后者通常会回溯兼容。查看有关如何排除特定依赖关系的gradle文档。 https://docs.gradle.org/current/userguide/dependency_management.html