Class cast exception to same class on Android
Asked Answered
S

1

19

I'm having a strange problem with ClassCastException on Android. One class cannot be casted to the same class:

java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.ClassCastException: com.example.model.BadeWrapper cannot be cast to com.example.model.BadgeWrapper

java.lang.ClassCastException: com.example.events.widgets.TouchyWebView cannot be cast to com.example.events.widgets.TouchyWebView

java.lang.ClassCastException: com.example.friends.widgets.FriendsTabView cannot be cast to com.example.friends.widgets.FriendsTabView

When I find the line with error, all it does is finding view by id or creating fragment with arguments e.g.:

FriendsTabView friendsTabView;
friendsTabView = (FriendsTabView) view.findViewById(R.id.friends_bottom_tab_panel);

As my BugSense tells, this problem occurs only on Samsung Galaxy S5 with android 5.0.0 (samsung SM-G900F). I have never met this problem on my other devices:

  • Motorola Moto G 1st gen (Android 5.0.1)
  • Samsung Galaxy S3 Mini (Android 4.1.2)
  • LG G2 Mini (Android 4.4.2)
  • Sony Xperia L (Android 4.1.2)

Anyone met this problem before? Is there any way to fix it?

Solicit answered 12/3, 2015 at 10:29 Comment(2)
Can you post the relevant parts of the XML layout, the java class for the FriendsTabView (if available) and the java file where you use this FriendsTabView ?Antinode
Nevermind, problem is with Samsung Galaxy S5 device, see my answerSolicit
S
25

Ok I where the problem is. Looks like Samsung on Android 5.0 probably still uses old implementation of multidex (used in Android L Preview), so if your app exceeds the 64k limit, it will crash in random places on your app where you use (ExampleClass) object cast.

More info on this problem can be found here and here.

We're also seeing this crash happen thousands of times per day. Crashlytics reports the crash as 100% Samsung devices (99% "SM G900F[Q]" device), and 100% Android 5.x. Seems to be another multidex issue on Samsung + Lollipop devices, as a.jaskev reports in #3.

Looks like we have to wait until Samsung resolve this problem. Right now all we can do is watching our spam on mailbox with bug reports :)

Solicit answered 12/3, 2015 at 11:24 Comment(2)
gsmarena.com/… Now even Lolipop update is on hold due to this issueSolicit
Samsung: Not even once.Tyronetyrosinase

© 2022 - 2024 — McMap. All rights reserved.