La respuesta elegida ya no es correcta. Google cambió la integración de Crashlytics. Mi versión actual es 2.9.1
y lo único que tuve que hacer es agregar implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
a mi archivo Gradle. No se requieren más cosas, bueno, pero esto significa que Crashlytics siempre se está ejecutando.
Solución 1
Solo compila Crashlytics en la versión de lanzamiento:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
Solución 2
Si desea configurar adicionalmente Crashlytics, entonces la Solución 1 no funciona, ya que las clases de Crashlytics no se encontrarán en Debug Builds. Así que cambie la implementación de Gradle a:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
Luego vaya a su Manifiesto y agregue la siguiente meta-data
etiqueta dentro de la application
etiqueta:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
Agregue a su actividad de lanzamiento (solo se requiere una vez, no todas las actividades)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
Esto solo habilitará Crashlytics en las versiones de lanzamiento. Tenga cuidado, también verifique BuildConfig.DEBUG cuando configure Crashlytics, por ejemplo:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}