I’ve setup Crashlytics for my React Native Expo app following this guide and configure and test following this guide.
Crash reports from Android Emulator are never sent to the console, while from iOS simulator crashes are successfully sent. For some reason the logs constantly show various random Google services crashing.
In Firebase console, Craslytics tab just says “App detected, waiting for a crash”.
This is part of the output from adb logcat | grep -i crash
where it shows an intended crash caused by crashlytics().crash();
, and than app being restarted:
--------- beginning of crash
05-07 23:32:06.474 6708 8510 E AndroidRuntime: java.lang.RuntimeException: Crash Test
05-07 23:32:06.474 6708 8510 E AndroidRuntime: at io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsModule$1.run(ReactNativeFirebaseCrashlyticsModule.java:83)
05-07 23:32:06.486 6708 8510 E DevLauncher: java.lang.RuntimeException: Crash Test
05-07 23:32:06.486 6708 8510 E DevLauncher: at io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsModule$1.run(ReactNativeFirebaseCrashlyticsModule.java:83)
05-07 23:32:07.064 505 825 W ActivityManager: Scheduling restart of crashed service com.google.android.googlequicksearchbox/com.google.android.apps.gsa.shared.util.keepalive.StandaloneKeepAlive$KeepAliveService in 1000ms for start-requested
05-07 23:32:07.217 505 540 W ActivityManager: Scheduling restart of crashed service com.android.dialer/com.android.voicemail.impl.scheduling.TaskSchedulerJobService in 10847ms for connection
05-07 23:32:09.007 505 825 W ActivityManager: Scheduling restart of crashed service com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME in 1000ms for connection
05-07 23:32:09.014 505 4145 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.google.android.finsky.scheduler.process.mainimpl.PhoneskyJobServiceMain in 10993ms for connection
05-07 23:32:09.014 505 4145 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.google.android.finsky.setup.PlaySetupServiceV2 in 20993ms for connection
05-07 23:32:09.049 9648 9691 V DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
05-07 23:32:11.826 10538 10601 I org.webrtc.Logging: CrashStartupListener: Checking conference crashes for 0 account(s).
05-07 23:32:11.891 10538 10619 W DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
05-07 23:32:11.926 10538 10619 I FirebaseCrashApiImpl: FirebaseCrashApiImpl created by ClassLoader dalvik.system.DelegateLastClassLoader[DexPathList[[zip file "/data/app/~~9F99x1_jvOfwerB_h9KckQ==/com.google.android.gms-4eYR5-JR7gmCVw1wXDy6qw==/split_DynamiteModulesC.apk"],nativeLibraryDirectories=[/data/app/~~9F99x1_jvOfwerB_h9KckQ==/com.google.android.gms-4eYR5-JR7gmCVw1wXDy6qw==/split_DynamiteModulesC.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]]
05-07 23:32:11.930 10538 10620 W DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
05-07 23:32:11.942 10538 10620 I FirebaseCrashApiImpl: FirebaseCrash reporting API initialized
05-07 23:32:11.943 10538 10620 W FirebaseCrashAnalytics: Unable to log event, missing Google Analytics for Firebase library
05-07 23:32:19.148 10538 10893 I FirebaseCrash: Sending crashes
05-07 23:32:30.993 10835 11164 V DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
and this is another log:
User
--------- beginning of crash
05-07 22:29:41.560 5607 5830 E AndroidRuntime: java.lang.RuntimeException: Crash Test
05-07 22:29:41.560 5607 5830 E AndroidRuntime: at io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsModule$1.run(ReactNativeFirebaseCrashlyticsModule.java:83)
05-07 22:29:41.564 5607 5830 E DevLauncher: java.lang.RuntimeException: Crash Test
05-07 22:29:41.564 5607 5830 E DevLauncher: at io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsModule$1.run(ReactNativeFirebaseCrashlyticsModule.java:83)
05-07 22:30:13.877 5928 5928 D SessionsDependencies: Dependency to CRASHLYTICS added.
05-07 22:30:13.940 5928 5928 I FirebaseCrashlytics: Initializing Firebase Crashlytics 18.6.4 for japodium.android
05-07 22:30:13.969 5928 5928 D SessionsDependencies: Subscriber CRASHLYTICS registered.
05-07 22:30:14.026 5928 5928 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled via RNFBJSON: true
05-07 22:30:14.026 5928 5928 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled after checking crashlytics_debug_enabled: true
05-07 22:30:14.027 5928 5928 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled final value: true
05-07 22:30:14.027 5928 5928 I RNFBCrashlyticsInit: initialization successful
05-07 22:30:14.110 5928 5961 D libcrashlytics: Initializing libcrashlytics version 3.2.0
05-07 22:30:14.135 5928 5961 D libcrashlytics: Initializing native crash handling successful.
05-07 22:30:14.178 5928 5961 I FirebaseCrashlytics: No version control information found
05-07 22:30:14.527 5928 5928 I flipper : flipper: FlipperClient::addPlugin CrashReporter
05-07 22:30:14.759 5928 5970 D SessionConfigFetcher: Fetched settings: {"settings_version":3,"cache_duration":170183,"features":{"collect_logged_exceptions":true,"collect_reports":true,"collect_analytics":false,"prompt_enabled":false,"push_enabled":false,"firebase_crashlytics_enabled":false,"collect_anrs":true,"collect_metric_kit":false,"collect_build_ids":true},"app":{"status":"activated","update_required":false,"report_upload_variant":2,"native_report_upload_variant":2},"fabric":{"org_id":"663a70a7fe68bd5be8e001c8","bundle_id":"japodium.android"},"on_demand_upload_rate_per_minute":10,"on_demand_backoff_base":1.2,"on_demand_backoff_step_duration_seconds":60,"app_quality":{"sessions_enabled":true,"sampling_rate":1,"session_timeout_seconds":1800}}
05-07 22:30:14.877 5928 5948 D SessionLifecycleClient: Notified CRASHLYTICS of new session 59d616f9a2c14337af406f0a2737dd80
05-07 22:30:14.896 5928 5948 D EventGDTLogger: Session Event: {"eventType":1,"sessionData":{"sessionId":"59d616f9a2c14337af406f0a2737dd80","firstSessionId":"59d616f9a2c14337af406f0a2737dd80","sessionIndex":0,"eventTimestampUs":1715113814871000,"dataCollectionStatus":{"performance":1,"crashlytics":2,"sessionSamplingRate":1.0},"firebaseInstallationId":"cK__aUjFRmSjU8mOmowwQB","firebaseAuthenticationToken":"eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjE6ODg1ODY2MjQ4MjgxOmFuZHJvaWQ6NGQwM2IxNzk5OGFkYTQwZWYxNTk0OCIsImV4cCI6MTcxNTcxODUwMCwiZmlkIjoiY0tfX2FVakZSbVNqVThtT21vd3dRQiIsInByb2plY3ROdW1iZXIiOjg4NTg2NjI0ODI4MX0.AB2LPV8wRAIgD5t9Jco3cfZqF9rWr_5r8vAmzKqpXBpv9llfxZHHEGwCIDv9lAyux6rJm4DXZxikHC-ZadZ-zVoOQd8aTcOIckWr"},"applicationInfo":{"appId":"1:885866248281:android:4d03b17998ada40ef15948","deviceModel":"sdk_gphone64_arm64","sessionSdkVersion":"1.2.4","osVersion":"14","logEnvironment":3,"androidAppInfo":{"packageName":"japodium.android","versionName":"1.0.0","appBuildVersion":"1","deviceManufacturer":"Google","currentProcessDetails":{"processName":"japodium.android","pid":5928,"importance":100,"defaultProcess":true},"appProcessDetails":[{"processName":"japodium.android","pid":5928,"importance":100,"defaultProcess":true}]}}}
05-07 22:30:16.644 5928 5928 I flipper : flipper: FlipperClient::removePlugin CrashReporter
05-07 22:30:17.857 5928 6044 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled via RNFBJSON: true
05-07 22:30:17.857 5928 6044 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled after checking crashlytics_debug_enabled: true
05-07 22:30:17.857 5928 6044 D RNFBCrashlyticsInit: isCrashlyticsCollectionEnabled final value: true
05-07 22:30:17.857 5928 6044 D RNFBCrashlyticsInit: isErrorGenerationOnJSCrashEnabled via RNFBJSON: true
05-07 22:30:17.857 5928 6044 D RNFBCrashlyticsInit: isErrorGenerationOnJSCrashEnabled final value: true
05-07 22:30:17.858 5928 6044 D RNFBCrashlyticsInit: isCrashlyticsJavascriptExceptionHandlerChainingEnabled via RNFBJSON: true
05-07 22:30:17.858 5928 6044 D RNFBCrashlyticsInit: isCrashlyticsJavascriptExceptionHandlerChainingEnabled final value: true