Firebaseui-android: IncompatibleClassChangeError

Created on 12 Jul 2017  路  9Comments  路  Source: firebase/FirebaseUI-Android

  • Android device: Moto G4 Plus
  • Android OS version: 7.0
  • Google Play Services version: 11.0.55
  • Firebase/Play Services SDK version: 11.0.2
  • FirebaseUI version: 2.0.1

Steps to reproduce:

  1. Update to the latest Play Services / Firebase UI
  2. Compile
  3. Launch on device

Observed Results:

07-12 13:41:32.196 27842-27842/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: eu.side.tpsavmobile.android.debug, PID: 27842
java.lang.IncompatibleClassChangeError: Superclass com.google.android.gms.internal.zzbax of com.google.android.gms.internal.zzarm is an interface (declaration of 'com.google.android.gms.internal.zzarm' appears in /data/app/eu.side.tpsavmobile.android.debug-2/base.apk:classes6.dex)
at com.google.android.gms.auth.api.Auth.(Unknown Source)
at com.firebase.ui.auth.util.signincontainer.SignInDelegate.onCreate(SignInDelegate.java:105)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2236)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1285)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:379)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1270)
at android.app.Activity.performStart(Activity.java:6689)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2622)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

Expected Results:

I was expecting the Auth screen.

Most helpful comment

I think this section of the docs will be helpful to you:
https://github.com/firebase/FirebaseUI-Android#upgrading-dependencies

I think you're just missing one dependency:

compile "com.google.android.gms:play-services-auth:11.0.2"

All 9 comments

@mdupierreux can you please provide some code that causes this issue?

Yes, it's that simple :

startActivityForResult(
FirebaseConnectionHelper.getINSTANCE().getConnectionIntent(Arrays.asList(
new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build()))
,RC_SIGN_IN);

If I use the 11.0.1 version of gms/forebase, it works. I guess it's a compatibility issue between firebase ui 2.0.1 and 11.0.2.

@mdupierreux can you show me your whole dependencies block?

compile 'com.google.firebase:firebase-auth:11.0.2'
compile 'com.google.firebase:firebase-database:11.0.2'
compile 'com.firebaseui:firebase-ui-database:2.0.1'
compile 'com.firebaseui:firebase-ui-auth:2.0.1'
compile 'com.android.support:appcompat-v7:25.4.0'

I think this section of the docs will be helpful to you:
https://github.com/firebase/FirebaseUI-Android#upgrading-dependencies

I think you're just missing one dependency:

compile "com.google.android.gms:play-services-auth:11.0.2"

In fact it's not a compilation issue but a runtime issue. Anyway, I'll try your solution.

@mdupierreux because of the way the Play services and Firebase libs are proguarded, some dependency incompatibility issues can appear at runtime.

Yes, it's working. Thanks for the help !

@mdupierreux any time!

Was this page helpful?
0 / 5 - 0 ratings