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的就失效了,當然無法統計到崩潰信息!

發佈了39 篇原創文章 · 獲贊 46 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章