androidcrashlyticstwitter-fabric

How to initialize Crashlytics in Fabric.io?


Looking for some help. I just upgraded my android app to fabric and now the app gives an error on this line:

Crashlytics.start(getApplicationContext());

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

I tried commenting out that line, but then the crashes are not getting logged. How do I initialize Crashlytics in the new fabric framework? Am I missing something?

Thanks in advance for your help.


Solution

  • Since Crashlytics is now part of Fabric the initialization process has changed, but is still simple. Instead of using Crashlytics.start() you should now use, but in the Application creation:

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

    For a more richer example, see how Cannonball canonical sample app is doing:

    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());
        }
    
        ...
    
    }
    

    This code is available at: https://github.com/twitterdev/cannonball-android/blob/master/app/src/main/java/io/fabric/samples/cannonball/App.java#L96-L98