parse-community / ParseFacebookUtils-Android

A utility library to authenticate ParseUsers with the Facebook SDK
http://docs.parseplatform.org/android/guide/#facebook-users
Other
53 stars 63 forks source link

NoClassDefFoundError: com.parse.FacebookAuthenticationProvider #16

Closed deepaksime closed 8 years ago

deepaksime commented 8 years ago

logcat

java.lang.NoClassDefFoundError: com.parse.FacebookAuthenticationProvider
                                                   at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:96)
                                                   at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:81)
                                                   at com.test.myapp.MyApp.onCreate(MyApp.java:23)
                                                   at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4769)
                                                   at android.app.ActivityThread.access$1600(ActivityThread.java:179)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:146)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5641)
                                                   at java.lang.reflect.Method.invokeNative(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:515)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1288)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1104)
                                                   at dalvik.system.NativeStart.main(Native Method)

build.gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.test.myapp"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"

    multiDexEnabled true

}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
 }
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:multidex:1.0.0'
compile project(':volley')
compile 'com.facebook.android:facebook-android-sdk:4.4.0'
compile project(':ParseFacebookUtilsV4-1.9.0')

compile project(':parse-android-1.12.0')

}

MyApp.java

package com.test.myapp;
import android.app.Application;
import android.support.multidex.MultiDex;
import com.facebook.FacebookSdk;
import com.parse.Parse;
import com.parse.ParseFacebookUtils;

public class MyApp extends Application {
@Override
public void onCreate() {
    super.onCreate();
    MultiDex.install(this);
    // Enable Local Datastore.
    Parse.enableLocalDatastore(this);
    Parse.initialize(this);

    FacebookSdk.sdkInitialize(this);
    ParseFacebookUtils.initialize(this);

    }
}
deepaksime commented 8 years ago

resolved the issue, my dependencies in gradle

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')

compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile project(':volley')
compile 'com.android.support:multidex:1.0.0'
compile 'com.parse.bolts:bolts-tasks:1.3.0'
compile 'com.parse.bolts:bolts-applinks:1.3.0'
compile('com.facebook.android:facebook-android-sdk:4.8.2') {
    exclude module: 'bolts-android'
}
compile 'com.parse:parse-android:1.11.0'
compile project(':ParseFacebookUtils')

}

grantland commented 8 years ago

Highlighting the fix since it's a bug in the Facebook Android SDK:

compile 'com.facebook.android:facebook-android-sdk:4.4.0'

to

compile('com.facebook.android:facebook-android-sdk:4.8.2') {
    exclude module: 'bolts-android'
}

@deepaksime Also note that ParseFacebookUtils is on Maven now:

compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar'