简体   繁体   中英

Android : Migration from dagger 1 to dagger 2 for unit tests stuck with below error

13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.NoClassDefFoundError: dagger/ObjectGraph
13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter]    at com.google.auto.factory.processor.AutoFactoryProcessor.init(AutoFactoryProcessor.java:75)
13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:500)
13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:597)
13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:690)
13:37:25.068 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
13:37:25.069 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
13:37:25.069 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
13:37:25.070 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
13:37:25.071 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
13:37:25.071 [ERROR] [org.gradle.BuildExceptionReporter]    at com.sun.tools.javac.main.Main.compile(Main.java:523)
13:37:25.071 [ERROR] [org.gradle.BuildExceptionReporter]    ... 90 more
13:37:25.072 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.ClassNotFoundException: dagger.ObjectGraph
13:37:25.072 [ERROR] [org.gradle.BuildExceptionReporter]    ... 100 more

did someone faced similar problem? please help!

my gradle has

    ...
    testCompile 'com.android.support:support-annotations:' + ANDROID_SUPPORT_VERSION
    testCompile 'com.google.dagger:dagger-compiler:2.5'
    testCompile 'org.robolectric:robolectric:3.0'
    ...

Not sure whether i should add any other libraries to make it work!

The upgrade from Dagger 1 to Dagger 2 is a breaking change. This means that you will need to refactor your classes for it to work as there is no ObjectGraph class in Dagger 2. Instead of ObjectGraph , you will need to construct instances of Component . Please see this guide for help migrating from Dagger 1 to Dagger 2.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM