首页 > 解决方案 > Crashlytics 在记录时崩溃

问题描述

我最近将我的 android 应用程序中的 Crashlytics 更新为 v. 2.9.4。从那时起,当我尝试记录一些信息时,我开始在某些设备上看到错误:

java.lang.IllegalStateException: 
at io.fabric.sdk.android.Fabric.singleton (Fabric.java:275)
at io.fabric.sdk.android.Fabric.getKit (Fabric.java:525)
at com.crashlytics.android.Crashlytics.getInstance 
(Crashlytics.java:188)
at com.crashlytics.android.Crashlytics.checkInitialized 
(Crashlytics.java:371)
at com.crashlytics.android.Crashlytics.log (Crashlytics.java:230)

日志在另一个模块中调用,例如:

Crashlytics.log(Log.DEBUG, "ISA", "Some log");

主模块在主入口点初始化 Crashlytics,就在 onCreate 中,调用后super.onCreate(savedInstanceState);

Fabric.with(this, new Crashlytics());

该问题仅出现在某些设备上 (1/100)。知道为什么会这样吗?

标签: javaandroidcrashcrashlytics

解决方案


我从来没有遇到过 Fabric 的问题。在我看来,你有错误的初始化 Fabric。

Fabric 应该在Application类中初始化:

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        Fabric.with(this, new Crashlytics());
    }
}

推荐阅读