繁体   English   中英

在Android中将Quickblox与Proguard集成

[英]Integrating quickblox with Proguard in android

我在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的Newbee,但是我发现只有在编写QuickBlox的日志记录模块代码时才会出现这种情况。

我解决了这个问题。 实际上,这是我的错误。 我从Android方面忘记了QuickBlox中的CreateSession:

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) {

        }
    });

实施此操作后,错误消失了,应用运行异常!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM