运行quickblox应用程序时出现NoClassDefFound错误

时间:2014-04-26 11:42:40

标签: java android quickblox

我写了这个小代码来检查quickblox。这只是注册用户按下注册按钮。但是当我运行这段代码时,我在logcat中遇到NoClassDefFound的错误 用于QBSettings,因此应用程序崩溃。我已经将quickblox提供的jar文件添加为外部jar。所以,我无法弄清楚为什么会发生这种情况?需要帮助!

import com.quickblox.core.QBCallbackImpl;
import com.quickblox.core.QBSettings;
import com.quickblox.core.result.Result;
import com.quickblox.module.users.QBUsers;
import com.quickblox.module.users.model.QBUser;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {

Button login,register;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    QBSettings.getInstance().fastConfigInit(<app-id>, <authkey>, <authsecret>); // error here

    login = (Button) findViewById(R.id.login);
    register = (Button) findViewById(R.id.register);

    register.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            final QBUser user = new QBUser("something", "somepassword");

            // register user
            QBUsers.signUp(user, new QBCallbackImpl() {
                @Override
                public void onComplete(Result result) {
                    // result comes here
                    // check if result success
                    if (result.isSuccess()) {
                        // do stuff you need
                        Toast.makeText(getApplicationContext(), "Registered", Toast.LENGTH_SHORT).show();
                    }
                }
            });
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

1 个答案:

答案 0 :(得分:0)

问题不在您的代码中,而是在您的项目配置中。 我想您正在使用Eclipse IDE,而您忘记检查quickblox-android.jar文件是否包含在apk文件中。请查看this tutorial中的第5步。