मुझे एंड्रॉइड डिवाइसों के लिए एक मल्टीडेक्स प्रोजेक्ट मिला है। मैं फ्लेक्सन का उपयोग करता हूं। मैंने पहले से ही flexjson 3.3 और 2.x के साथ इसका परीक्षण किया है।एंड्रॉइड पर फ्लेक्सजेसन क्लास नॉटफाउंड अपवाद 4.4.4
यह एंड्रॉइड 5.x के साथ पूरी तरह से अच्छी तरह से काम करता है लेकिन एंड्रॉइड 4.4.4 में दुर्घटनाग्रस्त है।
ऐसा लगता है कि डेक्स समर्थन लाइब्रेरी पुरानी एंड्रॉइड संस्करणों के साथ काम नहीं कर रही है लेकिन मैं नहीं बता सकता।
Here's मेरी स्टैकट्रेस:
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)
संपादित करें: मैंने एंड्रॉयड देव टीम से किसी समस्या भरा है और they've एक सुविधा के रूप में बग बताया गया है, तब भी जब यह पूरी तरह से अच्छी तरह से काम करता है बाद के संस्करण। किसी भी इस anoying पाया, तो फिर से खोलने के लिए वोट करने के लिए प्रयास करें: https://code.google.com/p/android/issues/detail?id=178607
जब वास्तव में इस कोड का निष्पादित? क्या आप स्टैक ट्रेस का विस्तार कर सकते हैं (दिखाएं कि ऑब्जेक्टबिंडर # bindIntoObject, आदि कौन कॉल करता है)? –
@ एलेक्स लिपोव, मैंने पूरा स्टैकट्रैक जोड़ा है। 'ऑब्जेक्टबिंडर # bindIntoObject' को फ्लेक्स deserializer – eduyayo
ग्रेट द्वारा आंतरिक रूप से बुलाया जाता है। क्या हो रहा है बेहतर समझने के लिए - कौन सा घटक किसी सेवा से कनेक्शन स्थापित करता है (जो HateAIDLConnection $ 3 क्लास के उदाहरण के साथ bindService को कॉल करता है)? क्या यह आवेदन है? गतिविधि? प्रसारण प्राप्तकर्ता? –