EAS Android Production Build - Install Crash - Please help!

I am having a very strange problem and I can’t figure it out. I did an EAS android production build. After I install the apk on my Galaxy device it crashes on initial load. It is almost instant, the splash shows for a split second.

Then after that initial crash, it works and loads fine. Even if I force quit and re-open the app, it loads fine each time after that initial crash. I can’t figure it out and obviously I can’t ever send that out to people since it will crash every time someone first downloads it and opens it the first time.

The logcat indicates some sort of issue with loading the libjscexecutor.so library, which is a part of the JavaScriptCore (JSC) engine. This engine is used by React Native to execute JavaScript. The subsequent logs also show issues with the Hermes engine, which is an alternative to JSC for executing JavaScript in React Native. But I am not 100% sure if that is related, it just seems to be the most significant error in the log.

I am fairly new to this and somehow made it this far, so I am hoping I can figure this out but I am at a standstill. It’s a shame because once the first crash ends then it’s totally great after that. Sigh.

I tried updating expo to the most recent version, and the expo-cli. I just started this app about 3-4 weeks about so things shouldn’t be too out of date, I updated everything as needed and keep it all up to date.

For example, I didn’t have this: “expo-updates”: “~0.18.13”
But even after I installed that, and did another production build, the same thing happened.

I will attach my package.json here, maybe something will jump out to someone that knows about an issue like this.

{
  "name": "app",
  "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/masked-view": "^0.1.11",
    "@react-native-community/netinfo": "9.3.10",
    "@react-native-firebase/analytics": "^18.4.0",
    "@react-native-firebase/app": "^18.4.0",
    "@react-native-firebase/auth": "^18.4.0",
    "@react-native-firebase/crashlytics": "^18.4.0",
    "@react-native-firebase/functions": "^18.4.0",
    "@react-native-firebase/perf": "^18.4.0",
    "@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",
    "expo": "~49.0.7",
    "expo-build-properties": "~0.8.3",
    "expo-dev-client": "~2.4.10",
    "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.3",
    "react-native-crypto-js": "^1.0.0",
    "react-native-dialog": "^9.3.0",
    "react-native-gesture-handler": "~2.12.0",
    "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-responsive-screen": "^1.4.2",
    "react-native-safe-area-context": "4.6.3",
    "react-native-screens": "~3.22.0",
    "react-native-vector-icons": "^10.0.0",
    "expo-updates": "~0.18.13"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/firebase": "^3.2.1",
    "@types/react": "~18.2.14",
    "@types/react-native-crypto-js": "^1.0.0",
    "@types/react-native-vector-icons": "^6.4.14",
    "typescript": "^5.1.3"
  },
  "private": true
}

Did you ever find a solution for this? I’m experiencing a similar thing. My EAS builds crash on first launch before seemingly loading in an update which then works as expected. If my app.json doesn’t include updates.checkAutomatically set to ON_ERROR_RECOVERY, then the app continues to crash.