小编edu*_*ayo的帖子

Android 4.4.4上的FlexJson ClassNotFound异常

我有一个针对Android设备的multidex项目.我使用Flexjson.我已经用flexjson 3.3和2.x进行了测试.

它与Android 5.x完美配合,但在Android 4.4.4中崩溃.

看起来Dex支持库与旧的Android版本不合适但我无法分辨.

这是我的堆栈跟踪:

 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) …
Run Code Online (Sandbox Code Playgroud)

android json deserialization flexjson android-multidex

9
推荐指数
1
解决办法
478
查看次数

从aerogear统一推送服务器取消注册android客户端

我在处理注册时遇到问题 - 取消注册我的活动/服务或我在aerogear安装中使用的任何内容.

如果我从服务onCreate()注册并在onDestroy()中取消注册,当我卸载应用程序时,设备会在服务器端注册...如果我再次安装应用程序,它会再次注册设备,你可以重复这个直到你累了 当然,发送推送到用户给出的别名,每次注册时消息将到达一次.

此外,每次应用程序注册到aerogear时,deviceToken都是不同的,这意味着它更多地与每个安装的生成哈希相比,而不是该对的唯一标识符(app,device).

那么,现在的问题是,如何处理整个周期?我的意思是,每日运行和关于用户是否决定卸载应用程序的问题,它会被杀死而无法取消注册,一个月后决定他非常喜欢它,最终重新安装该东西.谢谢.

更新

当我测试我的应用程序时,问题就会增加.如果我在同一设备中使用两个不同的用户进行登录,那么我会得到两个用户消息,而且我必须更多地改变客户端实现.

使用aerogear数据库数据进行更新

这是两个设备的安装日志,有三个重新安装:


id  alias   deviceToken deviceType  enabled operatingSystem osVersion   platform    variantID
0dd99505-bba9-45e9-bfbf-38621bd41c3d    568b347a5df69915000pig@gmail.com    APA91bG9XSPpwbFenw0UETFLRxr2XoFw-HlH5yZpPgoCIVZLnv0QSqCx5iKqqhJ-tWF5CRISbydv6ItWZKxklD8OPtfxvuq1ekQEI3XkbFajsmGIJ3yjUIC0MGw3v2ITVd6byVtZLsI9uTfiDXyeNrXTxprzVxr9ng  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
0ee3619f-0eb4-4139-b1fa-fe3403eb380c    1c24c6e05b58738f000edu@gmail.com    APA91bFrNknt7d57dFR5DagE4Nf1bCVyB93Jl1xU5_qELwYn5JmjYUpXrLE10yC6beZdUgae0ZgtKXgLI4LI-E_ROAFEI4xi-ZPhuE8UZB6K05L_mIWSk7kt32D7S9G2clw3WG51zvcQmaeg8xsG_VW-rnwfKZQVcg  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
107d4dac-fbcf-4f82-9135-702b83d06f7f    568b347a5df69915000pig@gmail.com    APA91bEaN4AMJPZgML931rO4AdrMudfTmGVmYPqqARVLX1RxIfyYB46fGxlSK0w7g3qnU2d_cVOBi907TFIMoxBaOe3bvKI8DqsacrXMmT-DjhFoFRS2z4QCec9u0aRPm-EB9UwhfMrE3RrctdxDdNCQ0douuppYVQ  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
161474b6-067d-4b54-a750-e21a9896814e    1c24c6e05b58738f000edu@gmail.com    APA91bGFE6cxLcxPDoRmv-HEIpA2jQndccrCryuR3q5BN4PG3EyHxISFoMCIwaPPXX8BIinrJOvNCbwpIrVOKw_mSv5TcLZnSgonR1grpiRkJ0mmwbFCme2CrwoMpkLkVUP7ZjwnYsr0HR3MKzmJLakrnlN-eMKr-g  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
a5cddabe-1c00-4369-b4cc-f6c5da8f8740    568b347a5df69915000pig@gmail.com    APA91bGmFT7NCpfb1q4WHFK2wmQCQdMtW9ulQLiZYwrt9oyU4mqv9gCBN959pCw_wKy2zHw-JBU0p5SCzdpKN5l8i7uqPWk24ORHKE1Vf6rRUINkIRJheKVT6V6Wk38WQ7Rw1AgrqYXZN7WUImVSgd5cqq_p8lLISg  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
f7514716-68d9-4d00-837a-f1f9da503151    1c24c6e05b58738f000edu@gmail.com    APA91bHTFJE7-nz_KB4aa2RUcEnFTVB0IzQZ-ZffPTujLWgi60xTMUeAet6YoUZJnXKnhBOSdAPgoaLDW18PWnwKXtc2MXxKjMYQQENNDdOxKQIV4fnMrAFWfwD_VT6x5XOJUWdQovGUwXiMX9SshCDvZJ4QnM1x_w  ANDROID 1   android 4.4.4   android 4ae83272-5db7-41f6-879d-c907a39bd3fc
Run Code Online (Sandbox Code Playgroud)

service android install push aerogear

6
推荐指数
1
解决办法
454
查看次数