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?