Crash reports

Bugsee automatically intercepts uncaught exceptions and sends crash reports on app restart.

Proguard

When proguard is used, crash reports are likely to have obfuscated parts in them. In order to process them a matching mapping.txt has to be uploaded to Bugsee servers. The mapping can be uploaded manually at any time, Bugsee also provides a special mechanism to upload mapping files automatically at build time using a gradle plugin:

  • Add the following code to your build.gradle to initiate Bugsee gradle plugin when appropriate:
buildscript { // This block is in your project's or app module's build.gradle file
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'

        // Add Bugsee plugin as a dependency
        classpath 'com.bugsee:bugsee-android-gradle-plugin:1+' 
    }
}

apply plugin: 'com.android.application' // This line is already in your build.gradle file

// Activate Bugsee plugin
apply plugin: 'bugsee' 

// ... skipped ...

// Additional configurations for the Bugsee plugin
// Application token is required to associate the uploaded mapping file with the right application
bugsee {
    appToken '<your_app_token>'
}


Special cases

If you use other libraries, which intercept uncaught exceptions, Bugsee.launch() method should be called after all these libraries are initialized. When uncaught exceptions occurs, Bugsee will inform such library about exception.

If you set uncaught exceptions handler in your app using Thread.setDefaultUncaughtExceptionHandler() method after calling Bugsee.launch(), you should call Bugsee.onUncaughtException() method from your handler:

Thread.setDefaultUncaughtExceptionHandler(mExceptionHandler);
//...
private final Thread.UncaughtExceptionHandler mExceptionHandler = new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            Bugsee.onUncaughtException(thread, ex);

            // App specific exception handling.
            System.exit(1);
        }
    };