【问题标题】:How do i initialize the new version of crashlytics?如何初始化新版本的 crashlytics?
【发布时间】:2015-12-14 22:57:40
【问题描述】:

当我初始化我的应用程序时一切正常:

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

但是,当我使用时出现异常:

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

以下异常:

FATAL EXCEPTION: main Process: com.weightbook, PID: 19438
java.lang.IllegalStateException: Crashlytics must be initialized by calling Fabric.with(Context) prior to calling Crashlytics.getInstance()
at com.crashlytics.android.Crashlytics.checkInitialized(Crashlytics.java:372)
at com.crashlytics.android.Crashlytics.setUserName(Crashlytics.java:248)
at com.weightbook.analytics.AnalyticsManager.setUsernameOnCrashlytics(AnalyticsManager.java:64)

【问题讨论】:

    标签: android crashlytics twitter-fabric


    【解决方案1】:

    来自 Fabric 和 Crashlytics 的 Mike。您的第一个 init 调用是正确的,但您也可以使用:

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

    或使用:

    Fabric.with(this, CrashlyticsCore.getInstance());
    

    具有以下导入:

    import com.crashlytics.android.Crashlytics;
    import com.crashlytics.android.core.CrashlyticsCore;
    import io.fabric.sdk.android.Fabric;
    

    仅使用 CrashlyticsCore.getInstance() 只会为您提供 Crashlytics 崩溃报告,而不会提供其他任何信息,而 new Crashlytics() 将包括测试版和答案。

    【讨论】:

    • 谢谢三池!因此,似乎要使用 Crashlytics,您至少需要....new Crashlytics()。谢谢!!那么 CrashlyticsCore 有什么不同呢?
    • 啊,我明白你在找什么了。澄清了我的回答。
    • 嗨,迈克,我建议使用 new CrashlyticsCore() 而不是 CrashlyticsCore.getInstance() 进行编辑,因为 getInstance() 方法在初始化之前访问 Fabric 单例对象并在启动时使应用程序崩溃
    猜你喜欢
    • 2015-05-14
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    相关资源
    最近更新 更多