ClassCastException with Dagger2 and Android Gradle 2.2.0 plugin

235 views
Skip to first unread message

loeschg

unread,
Oct 10, 2016, 6:50:12 PM10/10/16
to Dagger Discuss
Since updating to the Android 2.2.0 Gradle plugin, my Espresso tests have started failing with the following error:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.app.debug/com.myapp.app.Market.MarketActivity}: java.lang.ClassCastException: com.myapp.app.usecases.UseCase1 cannot be cast to com.myapp.app.usecases.UseCase2
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.ClassCastException: com.myapp.app.usecases.UseCase1 cannot be cast to com.myapp.app.usecases.UseCase2
at com.myapp.app.di.module.UserModule_UseCase2Factory.get(UserModule_UseCase2Factory.java:28)
at com.myapp.app.di.module.UserModule_UseCase2Factory.get(UserModule_UseCase2Factory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at com.myapp.app.di.module.UserModule_SignedInPresenterFactory.get(UserModule_SignedInPresenterFactory.java:69)
at com.myapp.app.di.module.UserModule_SignedInPresenterFactory.get(UserModule_SignedInPresenterFactory.java:16)
at com.myapp.app.BaseSignedInActivity_MembersInjector.injectPresenter(BaseSignedInActivity_MembersInjector.java:44)
at com.myapp.app.Market.MarketActivity_MembersInjector.injectMembers(MarketActivity_MembersInjector.java:40)
at com.myapp.app.Market.MarketActivity_MembersInjector.injectMembers(MarketActivity_MembersInjector.java:9)
at com.myapp.app.di.DaggerUserComponent.inject(DaggerUserComponent.java:993)
at com.myapp.app.Market.MarketActivity.inject(MarketActivity.java:149)
at com.myapp.app.BaseSignedInActivity.onCreate(BaseSignedInActivity.java:59)
at com.myapp.app.Market.MarketActivity.onCreate(MarketActivity.java:57)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.support.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:532)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
... 10 more

Running the app works completely fine. Changing this back to the Android 2.1.3 Gradle plugin fixes the espresso problems (with no other changes). I've attempted cleaning, rebuilding, and restarting the gradle daemon. Anybody have any ideas on how to fix this? 
Reply all
Reply to author
Forward
0 new messages