0

我想运行 createDebugCoverageReport gradle 任务。但是在运行任务失败并给出以下错误之后。

 java.lang.NoClassDefFoundError: dagger.shaded.auto.common.BasicAnnotationProcessor
  at java.lang.Class.classForName(Native Method)
  at java.lang.Class.forName(Class.java:324)
  at android.support.test.internal.runner.TestLoader.doLoadClass(TestLoader.java:92)
  at android.support.test.internal.runner.TestLoader.loadIfTest(TestLoader.java:113)
  at android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(TestRequestBuilder.java:801)
  at android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:747)
  at android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:354)
  at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:260)
   at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1970)

以下是使用的匕首依赖项

 compile 'com.google.dagger:dagger:2.4'
 annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
 androidTestCompile 'com.google.dagger:dagger-compiler:2.4'

请提出建议,如何消除此错误。

4

1 回答 1

0

由于我发现,它与 dagger-producers 扩展冲突 - auto-value-gson 与 dagger 2.0.2 - 2.4 一起工作正常,但是当 dagger-producers(任何版本)被添加为项目的额外依赖项时,抛出异常。

我们的问题是您达到了 dex 限制,这与这张票不同。确保将这些依赖项添加到 apt 配置中,而不是编译。

于 2017-03-10T09:44:21.697 回答