我正在将项目迁移到dagger 1.2.2。我想覆盖功能测试的一些依赖项。为此,我也将dagger编译器作为androidTest-build(?)的依赖项包括在内:
apt "com.squareup.dagger:dagger-compiler:$daggerVersion"
compile "com.squareup.dagger:dagger:$daggerVersion"
androidTestApt "com.squareup.dagger:dagger-compiler:$daggerVersion
现在编译器抱怨他找不到类(我猜是因为两个版本现在都包含 dagger-compiler 的传递依赖项):
Error:Execution failed for task ':app:compileDebugAndroidTestJava'.
> java.lang.NoClassDefFoundError: javax/inject/Scope
环顾 github,似乎该方法应该在不手动排除内容的情况下起作用。
没
关系。实际上,读取整个构建文件会有很大帮助。
由于以前的依赖关系,我有一个指令明确排除了缺少的依赖关系:
configurations {
androidTestCompile.exclude(group:'javax.inject')
}
删除它修复了它。