La réponse choisie n'est plus correcte. Google a changé l'intégration de Crashlytics. Ma version actuelle est 2.9.1
et la seule chose que je devais faire est d'ajouter implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
à mon fichier Gradle. Aucune autre chose n'est requise, c'est bien, mais cela signifie que Crashlytics est toujours en cours d'exécution.
Solution 1
Compiler uniquement Crashlytics dans la version finale:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
Solution 2
Si vous souhaitez également configurer Crashlytics, la solution 1 ne fonctionne pas, car les classes Crashlytics ne seront pas trouvées dans les versions de débogage. Modifiez donc à nouveau l'implémentation Gradle:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
Accédez ensuite à votre manifeste et ajoutez la meta-data
balise suivante à l'intérieur de la application
balise:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
Ajoutez à votre activité de lancement (une seule fois requise, pas toutes les activités)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
Cela n'activera Crashlytics que dans les versions. Soyez prudent, vérifiez également BuildConfig.DEBUG lorsque vous configurez ensuite Crashlytics, par exemple:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}