android - 为什么 Fabric 没有初始化?java.lang.IllegalStateException:必须在使用 singleton() 之前初始化 Fabric
问题描述
我根据Get started with Firebase Crashlytics为我的 Android 应用程序设置了 Firebase Crashlytics(使用 Android Studio 3.1.3)。在我自己的设备和模拟器上,一切正常,我的崩溃在 Firebase 控制台中正确显示。到目前为止,一切都很好。
但是,我的一位应用程序用户发生了意外的崩溃:
java.lang.IllegalStateException:必须在使用 singleton() 之前初始化 Fabric
异常是在 MainActivity 之外的另一个 Activity 中引发的。
我知道您可以通过调用手动执行此处Fabric.with(this, new Crashlytics());
描述的初始化但是,在上面提到的入门文章中没有任何关于必须手动初始化 Crashlytics 的内容。我期待这是自动完成的,因为我自己的所有测试都运行良好。那么,为什么对于某些用户来说 Crashlytics 设置正确,而对于某些用户却没有呢?
解决方案
您需要在应用程序的 onCreate 中初始化 Crashlytics
import android.app.Application;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class TestApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
推荐阅读
- ruby - Ruby:除一个元素外排序
- oracle-apex - Oracle APEX 交互式网格自定义操作数据库更新
- r - sparklyr 流 JOIN 与状态
- python - 将数据框转换为 csv 时遇到问题
- javascript - 在不丢失属性的情况下休息参数
- javascript - 表单提交时页面重新加载,getElementById 返回 null,表单不工作
- java - 打印/导出 bootstable 数据表中的选定列
- ruby-on-rails - 在 Rails 上设计可重复确认的电子邮件
- python - 在 DataFrame 中对值进行分组
- microsoft-teams - 无法在团队范围内保存自定义应用程序选项卡