同一个库的多个版本

我有项目A,曾经有模块A1,使用dagger v.1.2.2。 现在我想添加项目A,模块A2,它依赖于dagger v.2.0。 但我不能因为这两个匕首库存冲突。 我可以在不同的Android模块中以某种方式处理多个版本的库吗?

你不能兼得。

您需要从依赖项中排除冲突的库:

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

为什么你不想保留它们? 我不认为如果可能,你应该只去一个图书馆。 在这里你应该使用最新的一个,因为我认为如果添加最新的那个,那么旧的并不重要。 看看这些链接,如果他们帮助你匕首……

使用mock模块覆盖图形时,Dagger依赖性会导致NoClassDefFoundError

如何在android库项目中使用dagger

使用mock模块覆盖图形时,Dagger依赖性会导致NoClassDefFoundError

你需要排除dagger v.1.2.2库并让dagger v.2.0。 后者通常会恢复兼容。 查看有关如何排除特定依赖关系的gradle文档。 https://docs.gradle.org/current/userguide/dependency_management.html