点击“使用Facebook登录”(简单的登录按钮)时出现此错误。

我拥有Google,并在此处阅读其他主题-但看不到任何与我的问题相符的内容。

我在下面添加Login.java类。

public class Login extends Activity {



/**
 * Called when the activity is first created.
 */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_login);
    CallbackManager callbackManager = CallbackManager.Factory.create();
    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
    loginButton.setReadPermissions("public_profile", "email", "user_friends");

    // Other app specific specialization

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {


        @Override
        public void onSuccess(LoginResult loginResult) {

            Log.i("Login", "Logged in: ");
          Intent i = new Intent(Login.this, MainActivity.class);
            startActivity(i);
        }

        @Override
        public void onCancel() {
            // App code

        }

        @Override
        public void onError(FacebookException exception) {
            // App code
            Log.i("Error" , "Error");
        }


    });
}
}

堆栈跟踪:

            05-28 20:07:27.550     872-1363/? E/Parcel﹕ Class not found when unmarshalling: com.facebook.login.LoginClient$Request
            java.lang.ClassNotFoundException: com.facebook.login.LoginClient$Request
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:308)
            at java.lang.Class.forName(Class.java:272)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2275)
            at android.os.Parcel.readParcelable(Parcel.java:2239)
            at android.os.Parcel.readValue(Parcel.java:2146)
            at android.os.Parcel.readArrayMapInternal(Parcel.java:2479)
            at android.os.BaseBundle.unparcel(BaseBundle.java:221)
            at android.os.BaseBundle.getString(BaseBundle.java:918)
            at android.content.Intent.getStringExtra(Intent.java:5378)
            at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1768)
            at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1313)
            at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4522)
            at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4368)
            at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:140)
            at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2964)
            at android.os.Binder.execTransact(Binder.java:446)
             Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.login.LoginClient$Request" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:308)
            at java.lang.Class.forName(Class.java:272)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2275)
            at android.os.Parcel.readParcelable(Parcel.java:2239)
            at android.os.Parcel.readValue(Parcel.java:2146)
            at android.os.Parcel.readArrayMapInternal(Parcel.java:2479)
            at android.os.BaseBundle.unparcel(BaseBundle.java:221)
            at android.os.BaseBundle.getString(BaseBundle.java:918)
            at android.content.Intent.getStringExtra(Intent.java:5378)
            at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.j

           Java:1768)      at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1313)
          at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4522)
            at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4368)
            at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:140)
            at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2964)
            at android.os.Binder.execTransact(Binder.java:446)
             Suppressed: java.lang.ClassNotFoundException: com.facebook.login.LoginClient$Request
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 18 more
           Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

最佳答案

检查 Activity 中的android:noHistory标志。

见链接
https://developers.facebook.com/bugs/1621984714705591/
寻找安德烈亚斯·伯格根沃尔(Andreas Bergenwall)的职位

10-07 16:47