如何解决java.lang.IllegalStateException: FirebaseApp 被删除
最后,我正在努力解决来自 firebase 的 Android 崩溃问题。 我们使用的是统一最新版本:
- Firebase 应用 (v7.1.0)
- Firebase 身份验证 (v7.1.0)
- Firebase Crashlytics (v7.1.0)
- Firebase 远程配置 (v7.1.0)
- Google Analytics for Firebase (v7.1.0)。
我们用选项初始化它:
Application = firebaseOptions != null ? FirebaseApp.Create(firebaseOptions) : FirebaseApp.DefaultInstance;
通常游戏运行正常,firebase 实现看起来不错,事件被捕获等。不幸的是,我们有很多使用 stacktrace 的崩溃:
有人遇到过同样的问题吗?如何解决?我们无法重现该问题,我们甚至根本不知道它是如何发生的,因为堆栈跟踪清晰地从 Google 团队代码中运行。
我认为这是一项检查应用程序是否未从手机中删除的工作。
Fatal Exception: java.lang.IllegalStateException: FirebaseApp was deleted
at com.google.android.gms.common.internal.Preconditions.checkState(com.google.android.gms:play-services-basement@@17.6.0:2)
at com.google.firebase.FirebaseApp.checkNotDeleted(FirebaseApp.java:439)
at com.google.firebase.FirebaseApp.getApplicationContext(FirebaseApp.java:126)
at com.google.firebase.installations.FirebaseInstallations.insertOrUpdatePrefs(FirebaseInstallations.java:444)
at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:401)
at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)```
解决方法
我已经设法解决了一个问题。
首先是覆盖firebase应用的DefaultInstance的问题。 你可以在这里找到更多: Firebase issue
这是您如何解决它,链接是由 firebase 支持提供给我的。 目前我们正在阻止应用的自动初始化,并在运行时创建一个新的 Firebase 应用,这是我们在启动器中做的第一件事。
https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.html
您还可以在此处了解有关 Firebase 初始化过程的更多信息: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。