最近我开始观察到很多此类例外情况。 无法投射到自身的类是由匕首注入的。 顺便说一句,我在gradle中使用multidex build。
日志如下所示:
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)
答案 0 :(得分:2)
如果你仍然无法找到解决方案,可能是三星在5.0上的Galaxy S5欧洲版本上错误地实现了MultiDex:
https://stackoverflow.com/a/29008480/477243
我报告了大量类似的崩溃事件(将类转换为ClassCastException)。
在阅读链接的答案后,我检查了导致崩溃的设备,所有这些设备在Android 5.0上均为SM G900F,这是一个耻辱,因为我的应用程序仅在英国和荷兰提供GS5是我们的顶级设备之一(占用户的11.5%)。