Danix89
Danix89

Reputation: 23

com.parse.FacebookAuthenticationProvider error

The app works fine until I've modified the graddle file to put the dependecies of new jar files.

This is the dependecies of the graddle of my app:

dependencies {
    compile 'com.parse.bolts:bolts-android:1.1.4'
    compile 'com.android.support:support-v4:22.0.0'

    provided 'com.facebook.android:facebook-android-sdk:3.23.1'

    provided files('libs/Parse-1.9.2.jar') //this is the dependence that I've modified
    provided files('libs/ParseFacebookUtils-1.8.4.jar')
}    

And this is the dependecies of the graddle of the ParseLoginUI (a github project for integrating the facebook and parse login):

dependencies {
// Module dependency on ParseLoginUI library sources
compile project(':calligraphy-2.1.0')

compile project(':ParseLoginUI')

compile fileTree(include: 'ParseCrashReporting-*.jar', dir: 'libs')

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

compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:cardview-v7:21.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.squareup.picasso:picasso:2.3.4'
}

Now I get this error when the method com.parse.ParseFacebookUtils.initialize is executed:

java.lang.IncompatibleClassChangeError: com.parse.FacebookAuthenticationProvider
        at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:91)
        at com.unisa.unistore.MainApplication.onCreate(MainApplication.java:35)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4553)
        at android.app.ActivityThread.access$1600(ActivityThread.java:147)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5256)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)

Please, some one can help me?

Upvotes: 0

Views: 289

Answers (2)

Maulik Dhameliya
Maulik Dhameliya

Reputation: 1558

I was getting the same error in my app.

java.lang.IncompatibleClassChangeError: com.parse.FacebookAuthenticationProvider at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:94)

I found the reason that i was using different version of libs that i kept in libs folder.

compile fileTree(dir: 'libs', include: 'Parse-*.jar')

compile fileTree(dir: 'libs', include: 'ParseFacebookUtilsV4-*.jar')

Both Parse and ParseFacebookUtilsV4 jar should have same version that i.e. Parse-1.9.2.jar & ParseFacebookUtilsV4-1.9.2.jar

so user both libs of same version that you downloaded from parse.com . I hope this will help ~~

Upvotes: 0

Danix89
Danix89

Reputation: 23

I've resolved the problem. It seems to be a corrupted jar file or the incompatibility between Parse-1.9.2.jar and ParseFacebookUtils-1.8.4.jar to cause this problem. Anyway these are the steps that I made to solve the problem:

  1. Recopying the same files again, in the libs directory (i.e. Parse-1.8.4.jar and ParseFacebookUtils-1.8.4.jar);
  2. Substituting Parse-1.9.2.jar with its 1.8.4 version.

I hope that this answer will be useful to someone.

Upvotes: 1

Related Questions