Java ClassCastException:在使用dagger的android上,类不能是自己的情况

Java ClassCastException:在使用dagger的android上,类不能是自己的情况,java,android,dagger,Java,Android,Dagger,最近,我开始观察到很多这种例外情况。 不能铸造到自身的职业被匕首注入。 顺便说一下,我正在gradle中使用multidex构建 日志如下所示: FATAL EXCEPTION: main Process: com.ui.client.debug, PID: 22087 java.lang.ClassCastException: com.logic.feed.FeedManager cannot be cast to com.logic.feed.FeedManager at com.log

最近,我开始观察到很多这种例外情况。 不能铸造到自身的职业被匕首注入。 顺便说一下,我正在gradle中使用multidex构建

日志如下所示:

FATAL EXCEPTION: main
Process: com.ui.client.debug, PID: 22087
java.lang.ClassCastException: com.logic.feed.FeedManager cannot be cast 
to com.logic.feed.FeedManager 
at com.logic.topic.TopicHandler$$InjectAdapter.get(TopicHandler$$InjectAdapter.java:73)
at com.logic.topic.TopicHandler$$InjectAdapter.get(TopicHandler$$InjectAdapter.java:19)
at com.ui.client.module.MainActivityModule$$ModuleAdapter$ProvideTopicHandlerProvidesAdapter.get(MainActivityModule$$ModuleAdapter.java:1244)
at com.ui.client.module.MainActivityModule$$ModuleAdapter$ProvideTopicHandlerProvidesAdapter.get(MainActivityModule$$ModuleAdapter.java:1208)
at com.ui.topic.TopicScene$$InjectAdapter.injectMembers(TopicScene$$InjectAdapter.java:73)
at com.ui.topic.TopicScene$$InjectAdapter.injectMembers(TopicScene$$InjectAdapter.java:23)
at dagger.ObjectGraph$DaggerObjectGraph.inject(ObjectGraph.java:281)
at com.ui.core.base.BaseActivity.inject(BaseActivity.java:35)
at com.ui.core.base.BaseFragment.onActivityCreated(BaseFragment.java:54)
at android.app.Fragment.performActivityCreated(Fragment.java:2122)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1082)
at android.app.BackStackRecord.run(BackStackRecord.java:833)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:452)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5834)
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:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)

如果您还没有找到解决方案,可能是三星在5.0版Galaxy S5的欧洲版本上错误地实现了MultiDex:

我已经有过很多类似的崩溃报告(ClassCastException关于将一个类强制转换为它自己)


阅读链接答案后,我检查了导致崩溃的设备,所有设备都在Android 5.0上,这是一个遗憾,因为我的应用程序仅在英国和荷兰可用,GS5是我们的顶级设备之一(11.5%的用户)。

我不知道具体原因,但是这种类型的错误通常是由于类被加载到两个不同的类加载器中引起的。所以我猜multidex配置有问题,导致使用多个类加载器。