[英]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.