Closed olealgoritme closed 6 years ago
My app is having the same issue. I am able to solve the missing FlowParameters class by adding to my AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature" />
However, I still see this FirebaseUI and Facebook related problem in the logs:
09-28 00:46:58.577 2519-8255/com.google.android.gms V/FA-SVC: Logging event: origin=auto,name=user_engagement(_e),params=Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=9603, firebase_screen_class(_sc)=LoginActivity, firebase_screen_id(_si)=4654341430752817376}] 09-28 00:46:58.586 7991-8248/com.harlie.myapplication V/FA: Activity resumed, time: 4997508 09-28 00:46:58.587 2519-8255/com.google.android.gms V/FA-SVC: Saving event, name, data size: user_engagement(_e), 68 09-28 00:46:58.590 7991-8248/com.harlie.myapplication V/FA: Screen exposed for less than 1000 ms. Event not sent. time: 10 09-28 00:46:58.591 7991-8248/com.harlie.myapplication V/FA: Activity paused, time: 4997510 09-28 00:46:58.592 2519-8255/com.google.android.gms V/FA-SVC: Event recorded: Event{appId='com.harlie.myapplication', name='user_engagement(_e)', params=Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=9603, firebase_screen_class(_sc)=LoginActivity, firebase_screen_id(_si)=4654341430752817376}]} 09-28 00:46:58.595 7991-7991/com.harlie.myapplication V/FA: onActivityCreated 09-28 00:46:58.600 7991-8248/com.harlie.myapplication D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_origin(_o)=auto, firebase_previous_class(_pc)=LoginActivity, firebase_previous_id(_pi)=4654341430752817376, firebase_screen_class(_sc)=KickoffActivity, firebase_screen_id(_si)=4654341430752817377}] 09-28 00:46:58.602 2519-8255/com.google.android.gms V/FA-SVC: Upload scheduled in approximately ms: 2252520 09-28 00:46:58.604 2519-8255/com.google.android.gms V/FA-SVC: Cancelling job. JobID: 812057698 09-28 00:46:58.604 2519-8255/com.google.android.gms V/FA-SVC: Scheduling upload with AlarmManager 09-28 00:46:58.604 2519-8255/com.google.android.gms V/FA-SVC: Background event processing time, ms: 27 09-28 00:46:58.631 7991-7991/com.harlie.myapplication D/AndroidRuntime: Shutting down VM
--------- beginning of crash
09-28 00:46:58.632 7991-7991/com.harlie.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.harlie.myapplication, PID: 7991
java.lang.NoSuchMethodError: No static method setWebDialogTheme(I)V in class Lcom/facebook/FacebookSdk; or its super classes (declaration of 'com.facebook.FacebookSdk' appears in /data/app/com.harlie.myapplication-2/base.apk)
at com.firebase.ui.auth.provider.FacebookProvider.
@LeeHounshell you've been using FirebaseUI for a while, when did this issue start for you?
I just noticed this problem for the first time today. I am wondering if the FacebookSdk has changed?
My build.gradle has:
implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
@LeeHounshell Oh yeah, using free flowing versioning is usually a bad idea exactly for this reason. Facebook just released v4.27
and it looks like
updates proguard files
is probably what's tripping us up.
For now, you can downgrade to v4.26
until we can sort this out. Thanks for the tip! 😄
I can confirm that downgrading to the old Facebook Sdk works. Use this in your build.gradle:
implementation 'com.facebook.android:facebook-android-sdk:4.26.0'
Thanks everybody!
Here's the ProGuard from the Facebook SDKs:
4.27.0
-keepclassmembers class * implements java.io.Serializable {
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keepnames class com.facebook.FacebookActivity
-keepnames class com.facebook.CustomTabActivity
-keep class com.facebook.all.All
-keep public class com.android.vending.billing.IInAppBillingService {
public static com.android.vending.billing.IInAppBillingService asInterface(android.os.IBinder);
public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
}
4.26.0
-keepclassmembers class * implements java.io.Serializable {
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
@samtstern Ok, so it actually has nothing to do with proguard. It turns out Facebook literally moved methods around in a minor release. Not cool Facebook! 👿😆 Anyway, see #929.
For me, downgrading fbSdk or adding that weird permission didn't change anything. Still same
@thailemon yeah, that's a separate issue. Somehow, your proguard config is stripping out firebase classes. Just to make sure, the crash only happens in release mode, right? If so, could you show me your proguard config?
@SUPERCILEX no, it happens in both debug and release.
@thailemon Hmmm, OK. That's weird. Try deleting the .gradle
folder in your project's root directory and running a ./gradlew clean cleanBuildCache
before running the app.
@SUPERCILEX Yes, it's very weird indeed. clean/cleanBuildCache doesn't change anything either - not in debug nor release :/
This issue is pretty old (x months) and I have not seen any additional reports, going to close it for now. @thailemon if you are still seeing this or if you fixed it please let us know! Happy to continue the discussion.
When using FirebaseUI Auth with Facebook, it crashes immediately after launching the Activity. The google-services.json file is updated.
The Facebook app ID is set in strings.xml:
Have tried versions of google play services, facebook sdk, firebase, firebase ui, to no avail. When removing Facebook as provider, and only using Google Sign-in/Phone/Email, it works without any issues.
Problem persists in debug and release APK.
Any suggestions on whats going on?
Log output:
======================================================
builde.gradle (app)
======================================================
build.gradle (Project)
======================================================