Выбранный ответ больше не верен. Google изменил интеграцию Crashlytics. Моя текущая версия - 2.9.1
и единственное, что мне нужно было сделать, это добавить implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1'
в мой файл Gradle. Больше ничего не требуется, приятно, но это означает, что Crashlytics всегда работает.
Решение 1
Скомпилируйте Crashlytics только в версии выпуска:
dependencies {
...
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
}
Решение 2
Если вы хотите дополнительно настроить Crashlytics, тогда Решение 1 не работает, так как классы Crashlytics не будут найдены в Отладочных сборках. Так что измените реализацию Gradle обратно на:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.1' // update version
Затем перейдите в манифесте и добавьте следующий meta-data
тег внутри application
тега:
<application
android:name="...>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
...
</application>
Добавьте к своей Launch-Activity (требуется только один раз, а не к каждой деятельности)
if (!BuildConfig.DEBUG) { // only enable bug tracking in release version
Fabric.with(this, new Crashlytics());
}
Это включит Crashlytics только в версиях выпуска. Будьте внимательны, также проверьте BuildConfig.DEBUG при настройке Crashlytics, например:
if (!BuildConfig.DEBUG) {
Crashlytics.setUserIdentifier("HASH_ID");
}