Crashlytics Compatibility with Expo Development Build? Possible?

Hello everyone.

I appreciate any help I can get with this asap, since I am spending wayyyy too much time on this stupid problem. I have been building my app and realized that I can’t use Firebase Analytics unless I move to a development build. So I did make sure that everything I want to use is installed, this is just my firebase stack that I had going before I did a development build:

"@react-native-firebase/analytics": "^18.3.2",
"@react-native-firebase/app": "^18.3.2",
"@react-native-firebase/auth": "^18.3.1",
"@react-native-firebase/crashlytics": "^18.3.1",
"@react-native-firebase/perf": "^18.3.1",
"@react-native-google-signin/google-signin": "^10.0.1",

I am running all the newest packages for everything Expo related. Although when I try and run my development build on the emulator it crashes. I have been struggling hard with this, as when I check the adb logcat it seems to be related to Crashlytics. When I check the Crashlytics documentation it seems like I need to add some things to the build.gradle, but I cannot find that, and I am pretty sure that it may not be doable because I am not going full bare workflow, I just did a development build. Correct?

Does this mean that I can’t actually use Crashlytics in the current build I have done then? I did an EAS build to get things going. I don’t really want to eject to a bare workflow, as I am pretty new and that would be a significant learning curve addition on-top of everything else. I like the aspects that Expo offers in the managed workflow.

I have been getting along very well until this part, and can’t seem to get past it. If I am not able to add Crashlytics to my project I would rather just know that ahead of time, vs keeping wasting time on it. Also, it seems like Analytics wouldn’t have that same problem though at least, would it?

These are the other parts of my package.json to give you an idea of what I set-up:

{
"name": "abc",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"prebuild-android": "echo $GOOGLESERVICES > ./GoogleServices.json"
},
"dependencies": {
"@expo/vector-icons": "^13.0.0",
"@react-native-async-storage/async-storage": "1.18.2",
"@react-native-community/checkbox": "^0.5.16",
"@react-native-community/netinfo": "9.3.10",
"@react-native-firebase/analytics": "^18.3.2",
"@react-native-firebase/app": "^18.3.2",
"@react-native-firebase/auth": "^18.3.1",
"@react-native-firebase/crashlytics": "^18.3.1",
"@react-native-firebase/perf": "^18.3.1",
"@react-native-google-signin/google-signin": "^10.0.1",
"@react-navigation/bottom-tabs": "^6.5.8",
"@react-navigation/native": "^6.1.7",
"@react-navigation/stack": "^6.3.17",
"axios": "^1.4.0",
"crypto-js": "^4.1.1",
"expo": "~49.0.7",
"expo-dev-client": "~2.4.8",
"expo-font": "~11.4.0",
"expo-secure-store": "~12.3.1",
"expo-splash-screen": "~0.20.5",
"expo-status-bar": "~1.6.0",
"firebase": "^10.3.1",
"mobx": "^6.10.0",
"mobx-react-lite": "^4.0.3",
"react": "18.2.0",
"react-native": "0.72.4",
"react-native-dialog": "^9.3.0",
"react-native-gesture-handler": "^2.12.1",
"react-native-modal": "^13.0.1",
"react-native-paper": "^5.10.1",
"react-native-reanimated": "~3.3.0",
"react-native-reanimated-carousel": "^3.5.1",
"react-native-vector-icons": "^10.0.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/firebase": "^3.2.1",
"@types/react": "~18.2.14",
"@types/react-native-vector-icons": "^6.4.14",
"prettier": "^3.0.2",
"typescript": "^5.1.3"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,jsx,ts,tsx,json,css,scss,md}": [
"prettier --write"
]
},
"private": true
}

Were you able to solve this issue? My EAS build is also crashing and from adb logcat I found:

E FirebaseCrashlytics: The Crashlytics build ID is missing. This occurs when the Crashlytics Gradle plugin is missing from your app's build configuration. Please review the Firebase Crashlytics onboarding instructions at https://firebase.google.com/docs/crashlytics/get-started?platform=android#add-plugin

But I’m sure I’ve setup everything correctly in Expo (app.json file). Please let me know if you’ve found a solution!

I am very sorry, I did solve it but I have been working so hard and I am so deep on the app now that my brain must have deleted the memory, I can’t recall how I fixed this problem now. I don’t think it was that hard though. I truly apologize. If it comes to me I will let you know.

No problem, I was finaly able to resolve by upgrading Expo Sdk to latest (49) and the following packages:

"@react-native-firebase/analytics": "^18.5.0",
"@react-native-firebase/app": "^18.5.0",
"@react-native-firebase/crashlytics": "^18.5.0",

This required upgrading lots of packages but in the end it is working!

1 Like