使用dagger为androidTest检测的测试用例生成代码覆盖率报告时出错

问题描述 投票:0回答:1

我想运行createDebugCoverageReport gradle task.But运行后任务失败并给出以下错误。

 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'

请建议,我如何删除此错误。

android code-coverage dagger-2 android-instrumentation android-studio-2.3
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.