Crashlytics.getInstance()返回null以记录自定义异常

时间:2017-05-07 04:18:32

标签: android crashlytics twitter-fabric google-fabric

我正在尝试按照doc

中的建议记录捕获的异常

在我的一项活动中:

@Override
public void failure(RetrofitError error) {                                              
    Crashlytics.getInstance().core.log(error.getMessage());
    Crashlytics.getInstance().core.logException(error.getCause());
}

但这再次导致Fabric仪表板出现致命异常:

  

致命异常:java.lang.NullPointerException   尝试阅读字段&com.crashlytics.android.core.CrashlyticsCore com.crashlytics.android.Crashlytics.core'在空对象引用上

我正在AndroidApplication初始化Fabric:

CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build();
Fabric.with(this, new Answers(), new Beta(), core, new TwitterCore(authConfig), new Digits.Builder().build());

我是否需要为每个需要自定义日志记录的活动初始化Fabric?

1 个答案:

答案 0 :(得分:1)

我的应用程序中有类似的设置。我像这样初始化Crashlytics:

Crashlytics crashlyticsKit = new Crashlytics.Builder()
            .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
            .build();

    Fabric.with(this, crashlyticsKit);

但是我只是使用Crashlytics日志方法:

if (!BuildConfig.DEBUG) {
    Crashlytics.log(message);
}