Wybrana odpowiedź nie jest już poprawna. Google zmieniło integrację Crashlytics. Moja obecna wersja jest 2.9.1
i jedyne, co musiałem zrobić, to dodać implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
do mojego pliku Gradle. Nic więcej nie jest wymagane, ale to oznacza, że Crashlytics zawsze działa.
Rozwiązanie 1
Kompiluj Crashlytics tylko w wersji wydanej:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
Rozwiązanie 2
Jeśli chcesz dodatkowo skonfigurować Crashlytics, wówczas Rozwiązanie 1 nie działa, ponieważ klasy Crashlytics nie będą znajdować się w kompilacjach debugowania. Zmień więc implementację Gradle z powrotem na:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
Następnie przejdź do oczywistego i dodać następujące meta-data
znacznika wewnątrz application
tagu:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
Dodaj do swojej działalności związanej z uruchomieniem (wymagany tylko raz, nie każda aktywność)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
Pozwoli to włączyć Crashlytics tylko w wersjach wydania. Zachowaj ostrożność, sprawdź także BuildConfig.DEBUG podczas konfigurowania Crashlytics, np .:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}