Firebase Crashlytics 无法统计到崩溃日志的解决办法

Firebase Crashlytics 无法统计到崩溃日志的解决办法

1、确定集成无误

尝试任何其他方法之前,请确保已经成功集成了Crashlytics,你可以在控制台根据不同样式来判断是否集成成功。

2、UncaughtExceptionHandler

请检查你的项目中是否已经实现了自己的UncaughtExceptionHandler,如果有请去掉。
因为查看Crashlytics的源码,CrashlyticsUncaughtExceptionHandler 已经实现了该UncaughtExceptionHandler,代码如下:

class CrashlyticsUncaughtExceptionHandler implements UncaughtExceptionHandler{
...
}

然后在CrashlyticsController类中:

class CrashlyticsController {
...
void enableExceptionHandling(UncaughtExceptionHandler defaultHandler, boolean firebaseCrashlyticsClientFlag) {
        this.openSession();
        CrashListener crashListener = new CrashListener() {
            public void onUncaughtException(SettingsDataProvider settingsDataProvider, Thread thread, Throwable ex, boolean firebaseCrashlyticsClientFlag) {
                CrashlyticsController.this.handleUncaughtException(settingsDataProvider, thread, ex, firebaseCrashlyticsClientFlag);
            }
        };
        this.crashHandler = new CrashlyticsUncaughtExceptionHandler(crashListener, new CrashlyticsController.DefaultSettingsDataProvider(), firebaseCrashlyticsClientFlag, defaultHandler);
        Thread.setDefaultUncaughtExceptionHandler(this.crashHandler);
    }
}

所以当我们使用Thread.setDefaultUncaughtExceptionHandler()的时候,设置了自定义的处理类,Crashlytics的就失效了,当然无法统计到崩溃信息!

你可能感兴趣的:(Android-第三方SDK)