尝试在我的应用程序中使用 Quickblox。Multidex apk 文件正确生成。但是,在尝试获取 QbUsers 类时存在运行时问题。
以下是代码:
QBUsers.getUsersByIDs(usersIDs, requestBuilder, new QBEntityCallbackImpl<ArrayList<QBUser>>() {
@Override
public void onSuccess(ArrayList<QBUser> users, Bundle params) {
// Save users
//
((ApplicationSingleton) getApplication()).setDialogsUsers(users);
Map<Integer, QBUser> usermap = ((ApplicationSingleton) getApplication()).getDialogsUsers();
for(Integer key:usermap.keySet()) {
Toast.makeText(UnjoinClubActivity.this, "SenderFullName = " + usermap.get(key).getFullName() + " " + usermap.get(key).getId(), Toast.LENGTH_LONG).show();
}
// build list view
//?
// buildListView(dialogs);
}
例外:
java.lang.NoClassDefFoundError: com.quickblox.module.users.model.QBUser
at com.sc.triumph.chatsingleton.ApplicationSingleton.setDialogsUsers(ApplicationSingleton.java:51)
at com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess(UnjoinClubActivity.java:394)
at com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess(UnjoinClubActivity.java:387)
at com.quickblox.core.query.Query.notifySuccess(Query.java:307)
at com.quickblox.core.query.Query$VersionEntityCallback.completedWithResponse(Query.java:339)
at com.quickblox.core.query.Query.completedWithResponse(Query.java:253)
at com.quickblox.core.server.HttpRequestRunnable$1.handleMessage(HttpRequestRunnable.java:38)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4963)
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)
java.lang.NoClassDefFoundError: com.quickblox.module.users.model.QBUser at com.sc.triumph.chatsingleton.ApplicationSingleton.setDialogsUsers(ApplicationSingleton.java:51) at com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess (UnjoinClubActivity.java:394) 在 com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess(UnjoinClubActivity.java:387) 在 com.quickblox.core.query.Query.notifySuccess(Query.java:307) 在 com。 quickblox.core.query.Query$VersionEntityCallback.completedWithResponse(Query.java:339) 在 com.quickblox.core.query.Query.completedWithResponse(Query.java:253) 在 com.quickblox.core.server.HttpRequestRunnable$1.handleMessage (HttpRequestRunnable.java:38) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os。Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4963) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke( Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 在 dalvik.system .NativeStart.main(本机方法)java:805) 在 dalvik.system.NativeStart.main(Native Method)java:805) 在 dalvik.system.NativeStart.main(Native Method)
如果在非 multidex 应用程序中使用相同的功能,它工作正常。
期待帮助以了解可能是什么问题?