0

アプリケーションで 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 (ネイティブ メソッド) で

マルチデックス以外のアプリケーションで同じ関数を使用すると、正常に動作します。

何が問題なのかを理解するための助けを期待していますか?

4

1 に答える 1

1

QBUsers - QuickBlox Android SDK からのこのクラス。完成したプロジェクトには SDK が含まれていないようです。依存関係を確認してください。

于 2015-01-17T11:45:51.457 に答える