La risposta scelta non è più corretta. Google ha modificato l'integrazione di Crashlytics. La mia versione attuale è 2.9.1
e l'unica cosa che dovevo fare è aggiungere implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
al mio file Gradle. Non sono necessarie altre cose, bello ma questo significa che Crashlytics è sempre in esecuzione.
Soluzione 1
Compila solo Crashlytics nella versione di rilascio:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
Soluzione 2
Se si desidera configurare ulteriormente Crashlytics, la Soluzione 1 non funziona, poiché le classi Crashlytics non si trovano nelle build di debug. Quindi modifica l'implementazione Gradle in:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
Quindi vai al tuo manifest e aggiungi il seguente meta-data
tag all'interno del application
tag:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
Aggiungi alla tua attività di lancio (solo una volta, non tutte le attività)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
Ciò abiliterà Crashlytics solo nelle versioni di rilascio. Fai attenzione, controlla anche BuildConfig.DEBUG quando configuri Crashlytics, ad esempio:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}