努力使用Dagger 2进行由Espresso提供支持的UI测试。我尝试在@Component
目录下生成专用测试androidTest
,但收到此错误:
Error:Bad service configuration file, or exception thrown while constructing
Processor object: javax.annotation.processing.Processor:
Provider dagger.android.processor.AndroidProcessor could not be instantiated:
java.lang.NoClassDefFoundError: com/google/common/collect/SetMultimap
以下是依赖关系的样子:
androidTestCompile "com.google.dagger:dagger:2.11",
androidTestCompile "com.google.dagger:dagger-android:2.11"
androidTestCompile "com.google.dagger:dagger-android-support:2.11"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.11"
androidTestAnnotationProcessor "com.google.dagger:dagger-android-processor:2.11"
有没有人面对这个并且有线索如何解决?
感谢。
答案 0 :(得分:0)
找到一个解决方案,基本上,罪魁祸首就在build.gradle
下面几行:
configurations {
...
androidTestCompile.exclude group: 'com.google.guava', module: 'guava'
...
}
这一行从Dagger库中排除了一些有用的东西,并防止它被编译。