Discovering Espresso for Android: Espresso 2.0 and 'Class ref in pre-verified class resolved to unexpected implementation' error
This time I would like to share with you solution for 'Class ref in pre-verified class resolved to unexpected implementation' issue I got while I was testing my multi-module project.
Espresso tests were failing with below issue when I wanted to operate on RecyclerView from com.android.support:appcompat-v7.
In my case RecyclerView dependency was defined not in the core-app module (the core module of the app) but in the other one which is set as a library.
java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation at com.my.app.fragments.MyFragment.onCreateView(MyFragment.java:190) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548) at com.my.app.activities.BaseActivity.onStart(BaseActivity.java:226) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171) at android.support.test.runner.MonitoringInstrumentation.callActivityOnStart(MonitoringInstrumentation.java:358) at android.app.Activity.performStart(Activity.java:5143) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.support.test.espresso.base.UiControllerImpl.loopUntil(UiControllerImpl.java:461) at android.support.test.espresso.base.UiControllerImpl.loopUntil(UiControllerImpl.java:402) at android.support.test.espresso.base.UiControllerImpl.injectMotionEvent(UiControllerImpl.java:226) at android.support.test.espresso.action.MotionEvents.sendUp(MotionEvents.java:135) at android.support.test.espresso.action.MotionEvents.sendUp(MotionEvents.java:118) at android.support.test.espresso.action.Tap.sendSingleTap(Tap.java:135) at android.support.test.espresso.action.Tap.access$100(Tap.java:35) at android.support.test.espresso.action.Tap$1.sendTap(Tap.java:40) at android.support.test.espresso.action.GeneralClickAction.perform(GeneralClickAction.java:98) at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:144) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at android.os.Handler.handleCallback(Handler.java:730) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)And again solution is similar to one that is posted in my previous post - I have added code below into my core-app module:
configurations { androidTestCompile.exclude group: 'com.android.support', module: 'recyclerview-v7' }Hope you haven't spent a lot of time looking for the solution :)
Comments
Post a Comment