アプリケーションで 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.sc.triumph.chatsingleton.ApplicationSingleton.setDialogsUsers(ApplicationSingleton.java:51) の com.quickblox.module.users.model.QBUser 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(ネイティブ メソッド) で 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 (ネイティブ メソッド) でjava:805) dalvik.system.NativeStart.main (ネイティブ メソッド) で
マルチデックス以外のアプリケーションで同じ関数を使用すると、正常に動作します。
何が問題なのかを理解するための助けを期待していますか?