使用Android Parse库进行Facebook登录时的ClassNotFoundException

时间:2015-08-12 13:16:50

标签: android parse-platform facebook-android-sdk

尝试使用带有Parse库的Facebook登录时出现异常。

在我的应用程序onCreate中,我打电话给:

ParseFacebookUtils.initialize(getApplicationContext());

我打电话给facebook登录如下:

List<String> permissions = Arrays.asList("user_birthday", "user_location", "user_friends", "email", "public_profile");
ParseFacebookUtils.logInWithReadPermissionsInBackground(this,permissions,new LogInCallback() {
    @Override
    public void done(ParseUser user, ParseException e) {
        ...
    }
});

我得到的堆栈跟踪是:

08-12 14:42:04.219    2376-2386/? E/DatabaseUtils﹕ Writing exception to parcel
    java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
            at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13101)
            at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
            at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607)
            at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
            at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
            at android.os.Binder.execTransact(Binder.java:388)
            at dalvik.system.NativeStart.run(Native Method)
08-12 14:42:04.234    2376-5614/? 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:204)
            at java.lang.Class.forName(Class.java:169)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2091)
            at android.os.Parcel.readParcelable(Parcel.java:2055)
            at android.os.Parcel.readValue(Parcel.java:1971)
            at android.os.Parcel.readMapInternal(Parcel.java:2255)
            at android.os.Bundle.unparcel(Bundle.java:223)
            at android.os.Bundle.getString(Bundle.java:1082)
            at android.content.Intent.getStringExtra(Intent.java:4961)
            at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:3761)
            at com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:4981)
            at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3163)
            at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3119)
            at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:157)
            at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2115)
            at android.os.Binder.execTransact(Binder.java:388)
            at dalvik.system.NativeStart.run(Native Method)
     Caused by: java.lang.NoClassDefFoundError: com/facebook/login/LoginClient$Request
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:204)
            at java.lang.Class.forName(Class.java:169)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2091)
            at android.os.Parcel.readParcelable(Parcel.java:2055)
            at android.os.Parcel.readValue(Parcel.java:1971)
            at android.os.Parcel.readMapInternal(Parcel.java:2255)
            at android.os.Bundle.unparcel(Bundle.java:223)
            at android.os.Bundle.getString(Bundle.java:1082)
            at android.content.Intent.getStringExtra(Intent.java:4961)
            at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:3761)
            at com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:4981)
            at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3163)
            at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3119)
            at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:157)
            at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2115)
            at android.os.Binder.execTransact(Binder.java:388)
            at dalvik.system.NativeStart.run(Native Method)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.login.LoginClient$Request" on path: .
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:204)
            at java.lang.Class.forName(Class.java:169)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2091)
            at android.os.Parcel.readParcelable(Parcel.java:2055)
            at android.os.Parcel.readValue(Parcel.java:1971)
            at android.os.Parcel.readMapInternal(Parcel.java:2255)
            at android.os.Bundle.unparcel(Bundle.java:223)
            at android.os.Bundle.getString(Bundle.java:1082)
            at android.content.Intent.getStringExtra(Intent.java:4961)
            at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:3761)
            at com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:4981)
            at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3163)
            at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3119)
            at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:157)
            at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2115)
            at android.os.Binder.execTransact(Binder.java:388)
            at dalvik.system.NativeStart.run(Native Method)

我认为这可能是proguard的问题,但即使禁用了proguard,我也遇到了同样的问题。

0 个答案:

没有答案