Ich bekomme diesen Absturz in etwa 70% der Geräte auf dem Markt. Es kam jedoch nie während des Tests auf.Firebase stürzt bei anonymer Anmeldung auf Android
public class MyApp extends Application{
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
FirebaseAuth.getInstance().signInAnonymously();
}
}
Dies ist der Fehler.
Fatal Exception: java.lang.RuntimeException: Unable to create application com.mycompany.myapp.activities.MyApp: java.lang.ClassCastException: com.google.android.gms.internal.hc cannot be cast to com.google.firebase.auth.c
com.google.android.gms.internal.hc cannot be cast to com.google.firebase.auth.c
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4927)
at android.app.ActivityThread.access$1500(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1412)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5633)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:896)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: com.google.android.gms.internal.hc cannot be cast to com.google.firebase.auth.c
at com.google.android.gms.internal.aa.a(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.a(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.d(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.<init>(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.<init>(Unknown Source)
at com.google.android.gms.internal.z.<init>(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.c(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.b(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.b(Unknown Source)
at com.tesseractmobile.solitairesdk.activities.SolitaireApp.onCreate(SolitaireApp.java:123)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1020)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4924)
Ich bin ich in unserer App einfach deaktivieren Feuerbasis Gerade jetzt Feuerbasis 9.2.1
compile "com.google.firebase:firebase-core:${firebaseVersion}"
compile "com.google.firebase:firebase-database:${firebaseVersion}"
//For dynamic links
compile "com.google.firebase:firebase-invites:${firebaseVersion}"
//Authentication - for logging winning games
compile "com.google.firebase:firebase-auth:${firebaseVersion}"
verwenden. Wir haben es nur getestet, um zu sehen, wie stabil es ist. Ich habe keine Ahnung, warum es bei all unseren Testgeräten funktioniert hat und dann in der Wildnis so abgestürzt ist.
Update: Ich konnte ein Video des Problems mit Firebase Test Lab erhalten. Es passierte, als der Robotest auf eine Anzeige klickte (App unterstützte App) und dann zurück zur App kam. Vielleicht hat es etwas mit FirebaseAuth.getInstance() zu tun. SignInAnonymously(); zweimal angerufen werden? Application.onCreate() sollte jedoch nur einmal aufgerufen werden. Ich weiß, dass es einen bekannten Fehler bei der Firebase-Absturzmeldung gibt, der dazu führt, dass zwei Anwendungsinstanzen erstellt werden, aber wir verwenden dieses sdk-Dienstprogramm nicht, um das Problem zu beheben.
* über 70% der Geräte * das ist eine große Zahl für einen Absturz. Vielleicht könnten Sie Online Test Farm verwenden, um gegen Firebase Crash zu testen. –
@itnotmenow Ich bin auf der Suche nach einer neuen Testmethode, die dies finden würde. Wir führen Komponententests und verbundene Tests auf einer kleinen Gerätefarm durch. Wir haben nur ein Dutzend Geräte zum Testen. Als kleines Unternehmen ist es eine finanzielle Hürde, mehr zu tun, als wir es bereits tun. Also müssen einige Probleme nur von den Kunden gefunden werden. – theJosh
@theJosh Haben Sie "google-services.json" in Ihr App-Verzeichnis heruntergeladen und beide Paketnamen und die SHA1-Signatur in Firebase Console autorisiert? –