There is a severe issue with a broken multidex implementation on some Samsung 4.2.x devices:
- http://developer.samsung.com/forum/thread/a/201/279201?db=5
- http://stackoverflow.com/questions/29007309/class-cast-exception-to-same-class-on-android
- https://github.com/chrisjenx/Calligraphy/issues/224
But there are workarounds:
- A special Proguard setting to minify your code
- Use DexClassLoader instead of Multidex and the default class loader
Official Android Documentation:
A class loader that loads classes from .jar and .apk files containing a classes.dex entry. This can be used to execute code not installed as part of an application.
DexClassLoader is instantiated to load the library from the extracted secondary dex file.
Provides a simple ClassLoader implementation that operates on a list of files and directories in the local file system, but does not attempt to load classes from the network. Android uses this class for its system class loader and for its application class loader(s).
PathClassLoader is used to load classes within ant with a different classpath from that used to start ant. Note that it is possible to force a class into this loader even when that class is on the system classpath by using the forceLoadClass method. Any subsequent classes loaded by that class will then use this loader rather than the system class loader.
Comments
Post a Comment