41

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

Crashlytics.start(getApplicationContext());

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

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

在此先感谢您的帮助。

4

2 回答 2

84

由于 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

于 2014-10-23T23:13:08.900 回答
2

在最新版本中,初始化由 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)
于 2020-05-12T09:49:27.693 回答