androidreact-nativebuildexpoeas

React Native application stuck on Expo logo screen after building using eas


I'm facing an issue when building my react native application using eas. The application worked fine without any issue while running with expo normally, but now when building the application in the android emulator the app get's stuck in this screen. Screen image

In the Expo build dashboard the building process goes well without any error, so I'm really struggling trying to find the issue. I will put also the package.json if maybe there is some issues with the compatibility of the modules.

{
  "name": "app-name",
  "main": "expo-router/entry",
  "version": "1.0.0",
  "scripts": {
    "start": "expo start",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/vector-icons": "^14.0.3",
    "@googleapis/calendar": "^9.7.9",
    "@radix-ui/react-icons": "^1.3.0",
    "@radix-ui/react-slot": "^1.1.0",
    "@react-native-async-storage/async-storage": "^1.23.1",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-google-signin/google-signin": "^13.1.0",
    "@react-navigation/native": "^6.0.2",
    "@supabase/supabase-js": "^2.44.3",
    "@tanstack/react-query": "^5.51.9",
    "class-variance-authority": "^0.7.0",
    "clsx": "^2.1.1",
    "expo": "~51.0.38",
    "expo-checkbox": "^3.0.0",
    "expo-constants": "~16.0.2",
    "expo-crypto": "~13.0.2",
    "expo-font": "~12.0.7",
    "expo-image-picker": "~15.0.7",
    "expo-linear-gradient": "~13.0.2",
    "expo-linking": "~6.3.1",
    "expo-router": "~3.5.23",
    "expo-secure-store": "~13.0.2",
    "expo-splash-screen": "~0.27.6",
    "expo-status-bar": "~1.12.1",
    "expo-system-ui": "~3.0.7",
    "expo-web-browser": "~13.0.3",
    "js-levenshtein": "^1.1.6",
    "lodash.filter": "^4.6.0",
    "lucide-react": "^0.411.0",
    "metro": "^0.80.12",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-google-calendar-api": "^2.3.0",
    "react-native": "0.74.5",
    "react-native-element-dropdown": "^2.12.1",
    "react-native-elements": "^3.4.3",
    "react-native-gesture-handler": "~2.16.1",
    "react-native-gifted-charts": "^1.4.16",
    "react-native-indicators": "^0.17.0",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-reanimated": "~3.10.1",
    "react-native-safe-area-context": "4.10.5",
    "react-native-screens": "3.31.1",
    "react-native-svg": "15.2.0",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-web": "~0.19.10",
    "supabase": "^1.200.3",
    "expo-dev-client": "~4.0.28"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/js-levenshtein": "^1.1.3",
    "@types/lodash": "^4.17.7",
    "@types/lodash.filter": "^4.6.9",
    "@types/react": "~18.2.45",
    "@types/react-native-calendars": "^1.1264.7",
    "@types/react-native-indicators": "^0.16.6",
    "jest": "^29.2.1",
    "jest-expo": "~51.0.4",
    "react-native-calendars": "^1.1307.0",
    "react-test-renderer": "18.2.0",
    "typescript": "~5.3.3"
  },
  "private": true
}

Solution

  • I understood what was the issue. The problem was related to the Android emulator and in particular the development build I was creating.

    The development build to be opened and run in the proper way needs that the development client is up, this can be done by simply

    npx expo start
    

    If you don't use load the development client the emulator will not be able to load the build. This will not happen only on emulators but also on real devices with the same development build.

    The only expo builds you can run without loading up the client are the production builds, which are the builds that will be used and submitted to the stores.