firebase / FirebaseUI-Android

Optimized UI components for Firebase
https://firebaseopensource.com/projects/firebase/firebaseui-android/
Apache License 2.0
4.63k stars 1.83k forks source link

Support play-services-auth library (v21.0.0) #2158

Open wangerekaharun opened 6 months ago

wangerekaharun commented 6 months ago

Welcome to FirebaseUI and thanks for submitting an issue!

Please take a look at open issues, as well as resolved issues, to see if your issue is either already being addressed, or has been solved by someone else.

If not, please feel free to fill in the following info so we can help faster!

Step 1: Are you in the right place?

Step 2: Describe your environment

Step 3: Describe the problem:

Steps to reproduce:

  1. Update the play-services-auth version on an app using Firebase UI
  2. Run the app, it crashes due to the breaking changes added on the play-services-auth 21.1.0 version: https://developers.google.com/android/guides/releases#february_15_2024

Observed Results:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/credentials/CredentialsOptions$Builder;at com.firebase.ui.auth.util.GoogleApiUtils.getCredentialsClient(GoogleApiUtils.java:29) 

at com.firebase.ui.auth.viewmodel.AuthViewModelBase.onCreate(AuthViewModelBase.java:30)
at com.firebase.ui.auth.viewmodel.ViewModelBase.init(ViewModelBase.java:24)
at com.firebase.ui.auth.KickoffActivity.onCreate(KickoffActivity.java:38)
at android.app.Activity.performCreate(Activity.java:8051)
at android.app.Activity.performCreate(Activity.java:8031)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.auth.api.credentials.CredentialsOptions$Builder" on path: DexPathList[[dex file "/data/data/com.mfhc.firebasetest/code_cache/.overlay/base.apk/classes3.dex", zip file "/data/app/~~crZRGUM9m8NR4vzMFc5fFw==/com.mfhc.firebasetest-oesX28d7C_VTSFzoRDt6Gg==/base.apk"],nativeLibraryDirectories=[/data/app/~~crZRGUM9m8NR4vzMFc5fFw==/com.mfhc.firebasetest-oesX28d7C_VTSFzoRDt6Gg==/lib/x86_64, /system/lib64, /system_ext/lib64]]

dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

Expected Results:

Firebae UI Auth Should continue to work as expected with the new play-services-auth version

Relevant Code:

Update to latest play-services-auth version
tlozovyi commented 2 months ago

I have exactly same problem

jonsmirl commented 3 weeks ago

Same problem.