匕首依赖关系重写图形用模拟模块导致的NoClassDefFoundError当(Dagger dep

2019-10-23 09:59发布

我正在迁移项目匕首1.2.2。 我想重写某些依赖于功能测试。 对于我包括匕首编译为androidTest建造以及的相关性(?):

apt "com.squareup.dagger:dagger-compiler:$daggerVersion"
compile "com.squareup.dagger:dagger:$daggerVersion"
androidTestApt "com.squareup.dagger:dagger-compiler:$daggerVersion

现在,编译器会抱怨说,他无法找到一个类(我猜是因为无论是现在版本中包含的匕首编译的传递依赖):

Error:Execution failed for task ':app:compileDebugAndroidTestJava'.
> java.lang.NoClassDefFoundError: javax/inject/Scope

环顾四周github上看来的方法应该没有手动排除的东西的工作。

Answer 1:

没关系。 其实阅读整个构建文件可以帮助很多。

因为以前的依赖性,FOO的我有这样的明确排除缺少相关性的指令:

configurations {
    androidTestCompile.exclude(group:'javax.inject')
}

除去固定它。



文章来源: Dagger dependencies when overriding graph with mock module causes NoClassDefFoundError