【问题标题】:Integrating quickblox with Proguard in android在 android 中将 quickblox 与 Proguard 集成
【发布时间】:2014-09-22 08:00:26
【问题描述】:

我在我的 Android 应用程序中使用 QuickBlox 进行聊天。

[2014-09-22 12:32:48 - Dex Loader] 无法执行 dex:方法 ID 不在 [0, 0xffff] 中:65536 [2014-09-22 12:32:48 - xxxx] 转换为 Dalvik 格式失败:无法执行 dex:方法 ID 不在 [0, 0xffff] 中:65536

然后我被建议在应用程序中实现 Proguard 以删除所有不需要应用程序的不必要方法。但是,当我在我的 android 设备中安装带有 proguard 的签名 apk 时,我遇到了这个问题,并且应用程序在登录 QuickBlox 时因 Null Pointer Exception 而崩溃。

09-22 12:43:50.875: E/AndroidRuntime(10513): FATAL EXCEPTION: main
09-22 12:43:50.875: E/AndroidRuntime(10513): Process: com.xxxx, PID: 10513
09-22 12:43:50.875: E/AndroidRuntime(10513): java.lang.NullPointerException
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.a.a(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.f.b(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.f.a(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.b.a(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.e.a(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.a.c.a(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.quickblox.b.a.h.d.handleMessage(Unknown Source)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at android.os.Handler.dispatchMessage(Handler.java:102)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at android.os.Looper.loop(Looper.java:136)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at android.app.ActivityThread.main(ActivityThread.java:5001)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at java.lang.reflect.Method.invokeNative(Native Method)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at java.lang.reflect.Method.invoke(Method.java:515)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
09-22 12:43:50.875: E/AndroidRuntime(10513):    at dalvik.system.NativeStart.main(Native Method)

我只是集成Proguard的新手,但我发现只有在编写QuickBlox的日志记录模块的代码时才会出现这种情况。

【问题讨论】:

    标签: android nullpointerexception proguard quickblox


    【解决方案1】:

    我解决了这个问题。实际上,这是我这边的一个错误。我忘了从 Android 端在 QuickBlox 中创建会话。:

    QBSettings.getInstance().fastConfigInit(APP_ID, AUTH_KEY, AUTH_SECRET);
    QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
    
            @Override
            public void onSuccess(QBSession session, Bundle params) {
                super.onSuccess(session, params);
    
                Log.i(com.hyperchat.Consts.TAG, "session created, token = "
                        + session.getToken());
    
            }
    
            @Override
            public void onError(List<String> errors) {
    
            }
        });
    

    执行此操作后,错误消失并且应用程序运行顺利!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      相关资源
      最近更新 更多