Gmscore: Targeting Firebase Auth

Created on 28 Sep 2020  路  17Comments  路  Source: microg/GmsCore

Hey there,

I use microG for many years now and still love it :heart:

Sadly, for me, the missing firebase auth feature / support is a huge pain. Therefore, I decided to investigate this issue and will spend some time on it. In order to do so, I appreciate some help. I am familiar with android, building android roms and android apps, but I am not familiar with the internal of microG.

As a result, I have some questions / requests:

  • Is it possible to get an introduction to the code @mar-v-in @emlove ? Maybe we could schedule a video call and record it for further references. Perhaps there are more devs interested in joining the call?
  • Ideally, we can determine the complexity of the firebase auth issue and define tasks to solve it.

Furthermore, I suggest making this a collecive issue for all firebase auth related problems.

Here are some references that may be connected to a firebase auth issue (some already have the Firebase Auth tag):

756

809

842

951

1013

1162

Looking forward to hear from you!

馃攽 Firebase Auth

Most helpful comment

Initial support for Firebase Auth has landed in c3bfb63f27c116d21ba7b2b87629e36573d4a59e
It currently supports

  • Anonymous login
  • Email/Password login
  • Phone login
  • Custom-Token login

All 17 comments

A major part of getting it to work in most apps is the "X-Goog-Spatula" header, which is used for obtaining the firebase auth tokens in some apps, which requires DroidGuard, so some proprietary parts would be required for the implementation. I don't know if DroidGuard is currently working, but that would have to be considered. Some of my notes on it are here (its a few months old), including some python code for using the Tier app, which requires the Spatula header: https://gist.github.com/Romern/e58e634e4d70b2be5b57d7abdb77f7ef Maybe it helps a bit

Thanks @Romern , this is definitive a starting point 馃憤

most apps

Can you elaborate on this? Do you know what other apps are using? Maybe I can find it in an official Firebase Auth documentation.

Furthermore, I only have a rough picture how the communication between micorG and DroidGuard works, so I guess I have to look that up, too.

Sorry, this was more of an assumption that most apps use it. I saw it in the Tier app and I remember checking out some other apps using authentication using PhoneAuthProvider. It may be a start to setup the sample app ( https://github.com/firebase/quickstart-android/tree/master/auth ) and record the traffic for the various authentication methods. The header itself is undocumented, I was not able to find it in any (un-)official documentation.

Same here, could not find any documentation about the header in my today's research :-(

Ok, I tried some of the Authentication methods (GoogleSignInActivity, EmalPasswordActivity, PhoneAuthActivity, AnonymousAuthActivity) and edited the requests with Charles to not include the Spatula header, and only PhoneAuthActivity threw an MISSING_CLIENT_IDENTIFIER error and didn't work. So for a start most authentication methods could be implemented, without the need for the Spatula header.

Yes, that matches my observation that at least most of Firebase Auth should work fine without any special headers. Firebase Auth is based on the Google Identity Toolkit RelyingParty API which has partially public API description and open source client libraries. I'm actually in the process of implementing Firebase Auth these days.

I'm actually in the process of implementing Firebase Auth these days.

I will gladly support you wherever I can @mar-v-in . Please feel free to reach out. I still suggest to make a quick call to align ourselves ;-)

[...] only PhoneAuthActivity threw an MISSING_CLIENT_IDENTIFIER error and didn't work [...]

I saw that in my logs yesterday, too. I am looking into this in more detail with regard to @mar-v-in information right now.

Instead of using the Android PhoneAuth using the Spatula header, you can use the web/js-API with recaptcha, as the phone authentication in the firebase dev console can only be enabled for all platforms: https://firebase.google.com/docs/auth/web/phone-auth .
This works flawlessly with the Tier app (I used this https://github.com/firebase/quickstart-js/tree/master/auth and changed the init.js using local overrides in chromium).

Initial support for Firebase Auth has landed in c3bfb63f27c116d21ba7b2b87629e36573d4a59e
It currently supports

  • Anonymous login
  • Email/Password login
  • Phone login
  • Custom-Token login

Google Voice Fails to log into during setup with current apk installer and once setup Network Authentication Error connect to Google VOIP server.
1146#issuecomment-720913907

It appears that Tier has blocked the method, web-api atuhentication now throws the error:

{
  "error": {
    "code": 403,
    "message": "Requests from this Android client application \u003cempty\u003e are blocked.",
    "errors": [
      {
        "message": "Requests from this Android client application \u003cempty\u003e are blocked.",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

and the app does not work anymore (visible and invisible captcha). The pop flow gets past the request for the captcha, but the sms code is not sent.

EDIT: My own Firebase app still works, so it seems to be a single instance where they banned it.

Apparently the pop flow not working the last time I tried was just a fluke, it seems to work fine now. However this seems like a workaround and if they can just block the different methods the longevity of it seems to be a problem.

Yuka is crashing when I click the "Sign in with email" button. (Facebook button is not crashing)

Using a phone with GApps: if I go to the login screen and press the email button, the following activity appears, showing the pop-up with the email.

com.firebase.ui.auth.ui.email.EmailActivity seems to be loading correctly.

I/FIAM.Headless: went foreground
I/FIAM.Display: Binding to activity: Main.RootActivity
I/FIAM.Headless: Setting display event component
W/AnalyticsUserIDStore: initStore should have been called before calling setUserID
W/UserDataStore: initStore should have been called before calling setUserID
I/FIAM.Headless: Forcing fetch from service rather than cache. Test Device: false | App Fresh Install: true
I/FA: Tag Manager is not found and thus will not be used
I/System: Loaded time zone names for "es_ES" in 72ms (62ms in ICU)
I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID f0a6nE9XSuuNmDK2UyC6VV
I/FIAM.Display: Unbinding from activity: Main.RootActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Headless: Fetching campaigns from service.
W/DynamiteModule: Local module descriptor class for providerinstaller not found.
I/DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Setting display event component
V/NativeCrypto: Registering com/google/android/gms/org/conscrypt/NativeCrypto's 288 native methods...
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Setting display event component
I/ProviderInstaller: Installed default security provider GmsCore_OpenSSL
I/FIAM.Headless: Successfully fetched 0 messages from backend
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.email.EmailActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.email.EmailActivity
I/FIAM.Headless: Removing display event component

If I try the same thing on another phone with microG 0.2.14.204215, the app crashes as soon as I press the email button.

No com.firebase.ui.auth.ui.email.EmailActivity appears in the logs.

I/FIAM.Headless: went foreground
I/FIAM.Display: Binding to activity: Main.RootActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Headless: Forcing fetch from service rather than cache. Test Device: false | App Fresh Install: true
I/FA: Tag Manager is not found and thus will not be used
I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID epC9IAAuQc6p9-s1usji2q
I/FIAM.Display: Unbinding from activity: Main.RootActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Headless: Fetching campaigns from service.
W/DynamiteModule: Local module descriptor class for providerinstaller not found.
W/DynamiteModule: IDynamite loader version < 2, falling back to getModuleVersion2
D/GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for providerinstaller
I/DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
D/GmsProviderInstaller: Initializing provider for io.yuka.android
V/NativeCrypto: Registering com/google/android/gms/org/conscrypt/NativeCrypto's 288 native methods...
D/GmsProviderInstaller: Installed default security provider GmsCore_OpenSSL
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Removing display event component
I/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.a.d@75adc3
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Headless: Successfully fetched 0 messages from backend
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Removing display event component
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: io.yuka.android, PID: 22158
    android.content.ActivityNotFoundException: No Activity found to handle null
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
        at android.app.Activity.startIntentSenderForResultInner(Activity.java:5583)
        at android.app.Activity.startIntentSenderForResult(Activity.java:5549)
        at androidx.fragment.app.d.startIntentSenderForResult(FragmentActivity.java:6)
        at androidx.core.app.a.x(ActivityCompat.java:2)
        at androidx.fragment.app.d.startIntentSenderFromFragment(FragmentActivity.java:6)
        at androidx.fragment.app.d$a.q(FragmentActivity.java:1)
        at androidx.fragment.app.Fragment.startIntentSenderForResult(Fragment.java:2)
        at com.firebase.ui.auth.util.ui.FlowUtils.startIntentSenderForResult(FlowUtils.java:5)
        at com.firebase.ui.auth.util.ui.FlowUtils.unhandled(FlowUtils.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:1)
        at androidx.lifecycle.LiveData.c(LiveData.java:6)
        at androidx.lifecycle.LiveData.d(LiveData.java:5)
        at androidx.lifecycle.LiveData$c.e(LiveData.java:10)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.c(LiveData.java:3)
        at androidx.lifecycle.k$b.a(LifecycleRegistry.java:3)
        at androidx.lifecycle.k.g(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.q(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.m(LifecycleRegistry.java:5)
        at androidx.lifecycle.k.i(LifecycleRegistry.java:2)
        at androidx.fragment.app.Fragment.performStart(Fragment.java:7)
        at androidx.fragment.app.j.T0(FragmentManagerImpl.java:87)
        at androidx.fragment.app.j.Q0(FragmentManagerImpl.java:9)
        at androidx.fragment.app.j.R0(FragmentManagerImpl.java:7)
        at androidx.fragment.app.j.g0(FragmentManagerImpl.java:2)
        at androidx.fragment.app.j.f0(FragmentManagerImpl.java:3)
        at androidx.fragment.app.f.q(FragmentController.java:1)
        at androidx.fragment.app.d.onStart(FragmentActivity.java:9)
        at androidx.appcompat.app.d.onStart(AppCompatActivity.java:1)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
        at android.app.Activity.performStart(Activity.java:8024)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7657)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/UncaughtException: android.content.ActivityNotFoundException: No Activity found to handle null
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
        at android.app.Activity.startIntentSenderForResultInner(Activity.java:5583)
        at android.app.Activity.startIntentSenderForResult(Activity.java:5549)
        at androidx.fragment.app.d.startIntentSenderForResult(FragmentActivity.java:6)
        at androidx.core.app.a.x(ActivityCompat.java:2)
        at androidx.fragment.app.d.startIntentSenderFromFragment(FragmentActivity.java:6)
        at androidx.fragment.app.d$a.q(FragmentActivity.java:1)
        at androidx.fragment.app.Fragment.startIntentSenderForResult(Fragment.java:2)
        at com.firebase.ui.auth.util.ui.FlowUtils.startIntentSenderForResult(FlowUtils.java:5)
        at com.firebase.ui.auth.util.ui.FlowUtils.unhandled(FlowUtils.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:1)
        at androidx.lifecycle.LiveData.c(LiveData.java:6)
        at androidx.lifecycle.LiveData.d(LiveData.java:5)
        at androidx.lifecycle.LiveData$c.e(LiveData.java:10)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.c(LiveData.java:3)
        at androidx.lifecycle.k$b.a(LifecycleRegistry.java:3)
        at androidx.lifecycle.k.g(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.q(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.m(LifecycleRegistry.java:5)
        at androidx.lifecycle.k.i(LifecycleRegistry.java:2)
        at androidx.fragment.app.Fragment.performStart(Fragment.java:7)
        at androidx.fragment.app.j.T0(FragmentManagerImpl.java:87)
        at androidx.fragment.app.j.Q0(FragmentManagerImpl.java:9)
        at androidx.fragment.app.j.R0(FragmentManagerImpl.java:7)
        at androidx.fragment.app.j.g0(FragmentManagerImpl.java:2)
        at androidx.fragment.app.j.f0(FragmentManagerImpl.java:3)
        at androidx.fragment.app.f.q(FragmentController.java:1)
        at androidx.fragment.app.d.onStart(FragmentActivity.java:9)
        at androidx.appcompat.app.d.onStart(AppCompatActivity.java:1)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
        at android.app.Activity.performStart(Activity.java:8024)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7657)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

I've cleaned the logs taking out the lines that I supposed were not relevant. If you need the full logs or if you want me to try something else, I'll be glad to help.

Yuka is crashing when I click the "Sign in with email" button. (Facebook button is not crashing)

Using a phone with GApps: if I go to the login screen and press the email button, the following activity appears, showing the pop-up with the email.

com.firebase.ui.auth.ui.email.EmailActivity seems to be loading correctly.

I/FIAM.Headless: went foreground
I/FIAM.Display: Binding to activity: Main.RootActivity
I/FIAM.Headless: Setting display event component
W/AnalyticsUserIDStore: initStore should have been called before calling setUserID
W/UserDataStore: initStore should have been called before calling setUserID
I/FIAM.Headless: Forcing fetch from service rather than cache. Test Device: false | App Fresh Install: true
I/FA: Tag Manager is not found and thus will not be used
I/System: Loaded time zone names for "es_ES" in 72ms (62ms in ICU)
I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID f0a6nE9XSuuNmDK2UyC6VV
I/FIAM.Display: Unbinding from activity: Main.RootActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Headless: Fetching campaigns from service.
W/DynamiteModule: Local module descriptor class for providerinstaller not found.
I/DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Setting display event component
V/NativeCrypto: Registering com/google/android/gms/org/conscrypt/NativeCrypto's 288 native methods...
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Setting display event component
I/ProviderInstaller: Installed default security provider GmsCore_OpenSSL
I/FIAM.Headless: Successfully fetched 0 messages from backend
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.email.EmailActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.email.EmailActivity
I/FIAM.Headless: Removing display event component

If I try the same thing on another phone with microG 0.2.14.204215, the app crashes as soon as I press the email button.

No com.firebase.ui.auth.ui.email.EmailActivity appears in the logs.

I/FIAM.Headless: went foreground
I/FIAM.Display: Binding to activity: Main.RootActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Headless: Forcing fetch from service rather than cache. Test Device: false | App Fresh Install: true
I/FA: Tag Manager is not found and thus will not be used
I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID epC9IAAuQc6p9-s1usji2q
I/FIAM.Display: Unbinding from activity: Main.RootActivity
I/FIAM.Headless: Removing display event component
I/FIAM.Headless: Fetching campaigns from service.
W/DynamiteModule: Local module descriptor class for providerinstaller not found.
W/DynamiteModule: IDynamite loader version < 2, falling back to getModuleVersion2
D/GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for providerinstaller
I/DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
D/GmsProviderInstaller: Initializing provider for io.yuka.android
V/NativeCrypto: Registering com/google/android/gms/org/conscrypt/NativeCrypto's 288 native methods...
D/GmsProviderInstaller: Installed default security provider GmsCore_OpenSSL
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.KickoffActivity
I/FIAM.Headless: Removing display event component
I/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.a.d@75adc3
I/FIAM.Display: Binding to activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Setting display event component
I/FIAM.Headless: Successfully fetched 0 messages from backend
I/FIAM.Display: Unbinding from activity: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity
I/FIAM.Headless: Removing display event component
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: io.yuka.android, PID: 22158
    android.content.ActivityNotFoundException: No Activity found to handle null
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
        at android.app.Activity.startIntentSenderForResultInner(Activity.java:5583)
        at android.app.Activity.startIntentSenderForResult(Activity.java:5549)
        at androidx.fragment.app.d.startIntentSenderForResult(FragmentActivity.java:6)
        at androidx.core.app.a.x(ActivityCompat.java:2)
        at androidx.fragment.app.d.startIntentSenderFromFragment(FragmentActivity.java:6)
        at androidx.fragment.app.d$a.q(FragmentActivity.java:1)
        at androidx.fragment.app.Fragment.startIntentSenderForResult(Fragment.java:2)
        at com.firebase.ui.auth.util.ui.FlowUtils.startIntentSenderForResult(FlowUtils.java:5)
        at com.firebase.ui.auth.util.ui.FlowUtils.unhandled(FlowUtils.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:1)
        at androidx.lifecycle.LiveData.c(LiveData.java:6)
        at androidx.lifecycle.LiveData.d(LiveData.java:5)
        at androidx.lifecycle.LiveData$c.e(LiveData.java:10)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.c(LiveData.java:3)
        at androidx.lifecycle.k$b.a(LifecycleRegistry.java:3)
        at androidx.lifecycle.k.g(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.q(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.m(LifecycleRegistry.java:5)
        at androidx.lifecycle.k.i(LifecycleRegistry.java:2)
        at androidx.fragment.app.Fragment.performStart(Fragment.java:7)
        at androidx.fragment.app.j.T0(FragmentManagerImpl.java:87)
        at androidx.fragment.app.j.Q0(FragmentManagerImpl.java:9)
        at androidx.fragment.app.j.R0(FragmentManagerImpl.java:7)
        at androidx.fragment.app.j.g0(FragmentManagerImpl.java:2)
        at androidx.fragment.app.j.f0(FragmentManagerImpl.java:3)
        at androidx.fragment.app.f.q(FragmentController.java:1)
        at androidx.fragment.app.d.onStart(FragmentActivity.java:9)
        at androidx.appcompat.app.d.onStart(AppCompatActivity.java:1)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
        at android.app.Activity.performStart(Activity.java:8024)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7657)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/UncaughtException: android.content.ActivityNotFoundException: No Activity found to handle null
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
        at android.app.Activity.startIntentSenderForResultInner(Activity.java:5583)
        at android.app.Activity.startIntentSenderForResult(Activity.java:5549)
        at androidx.fragment.app.d.startIntentSenderForResult(FragmentActivity.java:6)
        at androidx.core.app.a.x(ActivityCompat.java:2)
        at androidx.fragment.app.d.startIntentSenderFromFragment(FragmentActivity.java:6)
        at androidx.fragment.app.d$a.q(FragmentActivity.java:1)
        at androidx.fragment.app.Fragment.startIntentSenderForResult(Fragment.java:2)
        at com.firebase.ui.auth.util.ui.FlowUtils.startIntentSenderForResult(FlowUtils.java:5)
        at com.firebase.ui.auth.util.ui.FlowUtils.unhandled(FlowUtils.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:12)
        at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:1)
        at androidx.lifecycle.LiveData.c(LiveData.java:6)
        at androidx.lifecycle.LiveData.d(LiveData.java:5)
        at androidx.lifecycle.LiveData$c.e(LiveData.java:10)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.c(LiveData.java:3)
        at androidx.lifecycle.k$b.a(LifecycleRegistry.java:3)
        at androidx.lifecycle.k.g(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.q(LifecycleRegistry.java:9)
        at androidx.lifecycle.k.m(LifecycleRegistry.java:5)
        at androidx.lifecycle.k.i(LifecycleRegistry.java:2)
        at androidx.fragment.app.Fragment.performStart(Fragment.java:7)
        at androidx.fragment.app.j.T0(FragmentManagerImpl.java:87)
        at androidx.fragment.app.j.Q0(FragmentManagerImpl.java:9)
        at androidx.fragment.app.j.R0(FragmentManagerImpl.java:7)
        at androidx.fragment.app.j.g0(FragmentManagerImpl.java:2)
        at androidx.fragment.app.j.f0(FragmentManagerImpl.java:3)
        at androidx.fragment.app.f.q(FragmentController.java:1)
        at androidx.fragment.app.d.onStart(FragmentActivity.java:9)
        at androidx.appcompat.app.d.onStart(AppCompatActivity.java:1)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
        at android.app.Activity.performStart(Activity.java:8024)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7657)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

I've cleaned the logs taking out the lines that I supposed were not relevant. If you need the full logs or if you want me to try something else, I'll be glad to help.

Same problem with Yuka

Has anyone retried with 0.2.15.204713?

FirebaseUI Auth is still not implemented, which is why Yuka and other apps crash when using it. I added the info to the wiki

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cRaZy-bisCuiT picture cRaZy-bisCuiT  路  4Comments

dos1 picture dos1  路  4Comments

rugk picture rugk  路  6Comments

Riamse picture Riamse  路  5Comments

mar-v-in picture mar-v-in  路  3Comments