我正在尝试将 Proguard 与 Quickblox-2.4 jar 集成。我的 logcat 显示此异常:
: FATAL EXCEPTION: main
: java.lang.ClassCastException: com.d.a.b.v cannot be cast to com.quickblox.users.model.QBUserWrap
: at com.quickblox.users.model.QBUserPaged.getEntity(QBUserPaged.java:32)
: at com.quickblox.users.model.QBUserPaged.getEntity(QBUserPaged.java:13)
: at com.quickblox.core.parser.QBJsonParser.b(QBJsonParser.java:123)
: at com.quickblox.core.parser.QBJsonParser.parse(QBJsonParser.java:81)
: at com.quickblox.core.query.Query$VersionEntityCallback.completedWithResponse(Query.java:334)
: at com.quickblox.core.query.Query.completedWithResponse(Query.java:260)
: at com.quickblox.core.server.HttpRequestRunnable$1.handleMessage(HttpRequestRunnable.java:41)
: at android.os.Handler.dispatchMessage(Handler.java:99)
: at android.os.Looper.loop(Looper.java:137)
: at android.app.ActivityThread.main(ActivityThread.java:4960)
: at java.lang.reflect.Method.invokeNative(Native Method)
: at java.lang.reflect.Method.invoke(Method.java:511)
: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
: at dalvik.system.NativeStart.main(Native Method)
这是我的 Quickblox 的 proguard 配置文件内容:
#QuickBlox
-keep class org.jivesoftware.smack.** { public *; }
-keep class org.jivesoftware.smackx.** { public *; }
-keep class com.quickblox.** { public *; }
-keep class * extends org.jivesoftware.smack { public *; }
-keep class * implements org.jivesoftware.smack.debugger.SmackDebugger { public *; }
我认为可能是这段代码给出了错误,但我不确定。请帮忙!提前致谢。
QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
pagedRequestBuilder.setPage(1);
pagedRequestBuilder.setPerPage(1000);
QBUsers.getUsers(pagedRequestBuilder,
new QBEntityCallbackImpl<ArrayList<QBUser>>() {
@Override
public void onSuccess(ArrayList<QBUser> qbUsers,
Bundle bundle) {
}
@Override
public void onError(List<String> errors) {
// DialogUtils.showLong(ctx, errors.get(0));
}
});