如何在 Fabric.io 中初始化 Crashlytics?

Posted

技术标签:

【中文标题】如何在 Fabric.io 中初始化 Crashlytics?【英文标题】:How to initialize Crashlytics in Fabric.io? 【发布时间】:2014-12-19 13:19:02 【问题描述】:

寻求帮助。我刚刚将我的 android 应用程序升级到了 fabric,现在该应用程序在这一行给出了一个错误:

Crashlytics.start(getApplicationContext());

Gradle: error: cannot find symbol method start(Context)

我尝试注释掉该行,但没有记录崩溃。如何在新的结构框架中初始化 Crashlytics?我错过了什么吗?

提前感谢您的帮助。

【问题讨论】:

Fabric 在启动器活动中注入了这行代码,而没有从应用程序文件中删除之前的代码。因此所有的混乱。从您的 ptoject 中删除此行:Crashlytics.start(getApplicationContext());解决问题。 【参考方案1】:

在最新版本中,初始化由 ContentProvider 自动完成 https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android

 import com.google.firebase.crashlytics.FirebaseCrashlytics

// ...

// Explicit initialization of Crashlytics is no longer required.

// OPTIONAL: If crash reporting has been explicitly disabled previously, add:
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)

【讨论】:

【参考方案2】:

由于 Crashlytics 现在是 Fabric 的一部分,因此初始化过程发生了变化,但仍然很简单。您现在应该使用而不是使用 Crashlytics.start(),但是在 应用程序创建 中:

public class App extends Application 

    ...

    @Override
    public void onCreate() 
        super.onCreate();
        Fabric.with(this, new Crashlytics());
    

    ...


如需更丰富的示例,请查看 Cannonball 规范示例应用的表现:

public class App extends Application 

    ...

    private TwitterAuthConfig authConfig;

    ...

    @Override
    public void onCreate() 
        super.onCreate();
        authConfig = new TwitterAuthConfig(BuildConfig.CONSUMER_KEY, BuildConfig.CONSUMER_SECRET);
        Fabric.with(this, new Crashlytics(), new Twitter(authConfig), new MoPub());
    

    ...


此代码位于:https://github.com/twitterdev/cannonball-android/blob/master/app/src/main/java/io/fabric/samples/cannonball/App.java#L96-L98

【讨论】:

您从何处获得此信息?在官方文档中没有找到任何关于它的信息。 @akhyar 可能是他们在 Twitter 会议上发布 Fabric 的炮弹示例应用程序 我以后可以(在 Fabric.with(this, new Crashlytics()); 调用之后)像这样使用:Crashlytics.setString("key", "value"); ??? @Luis Cipriani 你能帮我解决这个问题吗***.com/questions/33126132/… 我必须在每个活动的 oncreate 方法中添加 Fabric.with(this, new Crashlytics()) 吗??

以上是关于如何在 Fabric.io 中初始化 Crashlytics?的主要内容,如果未能解决你的问题,请参考以下文章

Crashlytics Fabric.io 已弃用

如何在 iOS 中使用 Crashlytics 而不使用 Fabric

Fabric.io:新应用程序未显示在仪表板中

如何安装 Fabric 和 Crashlytics

找不到插件 Fabric Android Studio 导入 com.crashlytics & io.fabric

在 Fabric.io 中过滤一段时间内的数据