I´ve got a multidex project for Android devices. I use Flexjson. I´ve already tested it with flexjson 3.3 and 2.x.
It works perfectly well with android 5.x but crashes in Android 4.4.4.
It looks like the Dex support library is not working propperly with older Android versions but I cannot tell.
Here´s my stacktrace:
06-29 03:50:44.763 11884-11884/com.pigdroid.gameboard E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.pigdroid.gameboard, PID: 11884
flexjson.JSONException: [ layers.values ]: Could not load com.pigdroid.game.board.tile.model.IntTileLayer
at flexjson.ObjectBinder.findClassInMap(ObjectBinder.java:250)
at flexjson.ObjectBinder.findClassName(ObjectBinder.java:213)
at flexjson.ObjectBinder.bind(ObjectBinder.java:92)
at flexjson.ObjectBinder.bindIntoCollection(ObjectBinder.java:110)
at flexjson.factories.ListObjectFactory.instantiate(ListObjectFactory.java:13)
at flexjson.ObjectBinder.bind(ObjectBinder.java:95)
at flexjson.ObjectBinder.bindIntoObject(ObjectBinder.java:149)
at flexjson.factories.ExistingObjectFactory.instantiate(ExistingObjectFactory.java:25)
at flexjson.ObjectBinder.bind(ObjectBinder.java:95)
at flexjson.ObjectBinder.bind(ObjectBinder.java:74)
at flexjson.JSONDeserializer.deserialize(JSONDeserializer.java:241)
at flexjson.JSONDeserializer.deserializeInto(JSONDeserializer.java:301)
at com.pigdroid.game.model.memento.UndoableObject.from(UndoableObject.java:35)
at com.pigdroid.game.controller.GameController.loadModelFromSerialized(GameController.java:108)
at com.pigdroid.gameboard.view.detail.game.tile.TileBoardGameFragmentController.setGame(TileBoardGameFragmentController.java:692)
at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.onKickOff(GameDetailFragment.java:168)
at com.pigdroid.gameboard.view.ServiceFragment.kickOffIf(ServiceFragment.java:71)
at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.kickOffIf(GameDetailFragment.java:159)
at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:52)
at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:48)
at com.pigdroid.android.hateaidl.HateAIDLConnection$3.onServiceConnected(HateAIDLConnection.java:118)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1101)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1118)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.pigdroid.game.board.tile.model.IntTileLayer" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.LoadedApk$WarningContextClassLoader.loadClass(LoadedApk.java:430)
at flexjson.ObjectBinder.findClassInMap(ObjectBinder.java:243)
at flexjson.ObjectBinder.findClassName(ObjectBinder.java:213) at flexjson.ObjectBinder.bind(ObjectBinder.java:92) at flexjson.ObjectBinder.bindIntoCollection(ObjectBinder.java:110) at flexjson.factories.ListObjectFactory.instantiate(ListObjectFactory.java:13) at flexjson.ObjectBinder.bind(ObjectBinder.java:95) at flexjson.ObjectBinder.bindIntoObject(ObjectBinder.java:149) at flexjson.factories.ExistingObjectFactory.instantiate(ExistingObjectFactory.java:25) at flexjson.ObjectBinder.bind(ObjectBinder.java:95) at flexjson.ObjectBinder.bind(ObjectBinder.java:74) at flexjson.JSONDeserializer.deserialize(JSONDeserializer.java:241) at flexjson.JSONDeserializer.deserializeInto(JSONDeserializer.java:301) at com.pigdroid.game.model.memento.UndoableObject.from(UndoableObject.java:35) at com.pigdroid.game.controller.GameController.loadModelFromSerialized(GameController.java:108) at com.pigdroid.gameboard.view.detail.game.tile.TileBoardGameFragmentController.setGame(TileBoardGameFragmentController.java:692) at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.onKickOff(GameDetailFragment.java:168) at com.pigdroid.gameboard.view.ServiceFragment.kickOffIf(ServiceFragment.java:71) at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.kickOffIf(GameDetailFragment.java:159) at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:52) at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:48) at com.pigdroid.android.hateaidl.HateAIDLConnection$3.onServiceConnected(HateAIDLConnection.java:118) at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1101) at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1118) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5001) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method)
Aucun commentaire:
Enregistrer un commentaire