【问题标题】:Crashlytics crashing when loggingCrashlytics 在记录时崩溃
【发布时间】:2018-06-27 09:47:43
【问题描述】:

我最近将我的 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");

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

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

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

【问题讨论】:

    标签: java android crash crashlytics


    【解决方案1】:

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

    Fabric 应该在 Application 类中初始化:

    public class MyApplication extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
    
            Fabric.with(this, new Crashlytics());
        }
    }
    

    【讨论】:

    • 你能解释一下为什么它应该在Application而不是主要活动onCreate中初始化吗?
    • @user1592546 因为这是 Fabric 文档所说的。
    • @DennyDog 我在文档中看不到:firebase.google.com/docs/crashlytics/get-started
    • @ClassA Fabric 是旧的。 Firebase Crashlytics 是最新的。
    • @androiddeveloper 是的,但这个问题与fabric crashlytics 有关。此外,面料仍然可以使用到明年。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-08
    • 2019-12-20
    • 1970-01-01
    相关资源
    最近更新 更多