TL; DR: запустите react-native run-android --variant=release
, чтобы Crashlytics начал работать должным образом, предполагая, что вы все настроили правильно (что, безусловно, кажется, что у вас есть, поскольку firebase.crashlytics().crash()
вызывает сбой вашего приложения.)
Обратите внимание - для правильной работы react-native run-android --variant=release
вам потребуется настроить APK для выпускаемых сборок в соответствии с приведенными здесь инструкциями: https://facebook.github.io/react-native/docs/signed-apk-android
ДОКАЗАТЕЛЬСТВО КРЕШЛИТИКИ, ПРАВИЛЬНО ОТЧЕТНОЙ О НАПИСАНИИ ЭТОГО ОТВЕТА .Я никогда не был счастлив, увидев, что мой рейтинг без пользователей падает:)
Дайте мне знать, если у вас есть какие-либо вопросы!Настройка подписи может немного сбивать с толку, поэтому, если у вас есть какие-либо вопросы, дайте мне знать.
Это очень неприятная проблема, но, к счастью, я нашел решение и точнота самая лодка, что и ты.
Видишь этот большой красный экран?Это способ, с помощью которого React Native сообщает вам, что во время разработки вы допустили какую-то ошибку.Что не сразу очевидно, так это то, что этот красный экран предотвращает попадание ошибок в наши инструменты для отчетов об ошибках.Запуск вашего приложения в режиме релиза не даст React Native отобразить этот красный экран, а ваши инструменты отчетов об ошибках смогут сообщать о сбоях.
Поскольку Джиан указал в другом ответе на этот вопрос, кажется, что firebase.crashlytics().crash()
не работает должным образом.Однако это не совсем так.Всякий раз, когда вы работаете в режиме отладки (каждый раз, когда вы видите красный экран, вы находитесь в том, что я называю режимом отладки), Crashlytics и другие инструменты отчетов о сбоях не могут перехватывать собственные исключения, но они могут перехватывать исключения Javascript.Как только вы запустите приложение в режиме выпуска, как я описал выше, Crashlyitcs сможет перехватывать собственные исключения.Если вы загляните в Crashlytics.crash (), это на самом деле сбой, намеренно написанный на Java.Чтобы Crashlytics действительно «услышал», что приложение аварийно завершилось из-за Собственного исключения, вы должны работать в режиме выпуска, а не в режиме отладки.Извините, что побил здесь мертвую лошадь, но я все утро изучал эту проблему и чувствовал, что было бы целесообразно поделиться этой информацией с другими, переживающими ту же участь, что и я.