Upgrading Expo from 46 to 47 gives "Attempting to call JS function on a bad application bundle: AppRegistry.runApplication()".

Please provide the following:

  1. SDK Version: Upgraded from 46 to 47.
  2. Platforms(Android/iOS/web/all): Android and IOS

I decided to upgrade my project from expo SDK 46 to 47, and ran into this problem. Both Devices and emu/simu are getting the same error. I’ve tried deleting node_modules, package-lock, and the android/ios directories, and force clearing the cache. I’ve uninstalled previous development build from devices, and built everything from scratch.

I’m running the application with 'npx expo run:android --device".

image

I tried grabbing some logs using adb logcat, and nothing pops up in them. I tried clicking reload on the error, and refreshing from console. This was all that shows:

PS path> adb logcat *:S ReactNative:V ReactNativeJS:V
--------- beginning of main
--------- beginning of system
12-11 16:51:14.394 24872 24962 I ReactNativeJS: Running "main
--------- beginning of kernel
12-11 16:51:21.244 24872 24962 I ReactNativeJS: Running "main
12-11 16:51:32.958 24872 24962 I ReactNativeJS: Running "main
12-11 16:51:37.966 24872 24962 I ReactNativeJS: Running "main
12-11 16:54:59.768 24872 24962 I ReactNativeJS: Running "main
12-11 16:55:05.102 24872 24962 I ReactNativeJS: Running "main
// package.json
{
  "name": "myapp",
  "version": "1.0.0",
  "scripts": {
    "postinstall": "patch-package",
    "start-dev": "expo start --dev-client",
    "start": "expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@hookform/resolvers": "^2.9.10",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.5.2",
    "@react-native-masked-view/masked-view": "0.2.8",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.9.0",
    "@react-navigation/stack": "^6.3.0",
    "@reduxjs/toolkit": "^1.8.5",
    "add": "^2.0.6",
    "axios": "^0.27.2",
    "date-fns": "^2.29.3",
    "expo": "~47.0.8",
    "expo-apple-authentication": "~5.0.1",
    "expo-application": "~5.0.1",
    "expo-auth-session": "~3.7.3",
    "expo-constants": "~14.0.2",
    "expo-dev-client": "~2.0.1",
    "expo-file-system": "~15.1.1",
    "expo-navigation-bar": "~2.0.1",
    "expo-random": "~13.0.0",
    "expo-secure-store": "~12.0.0",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "expo-system-ui": "~2.0.1",
    "expo-web-browser": "~12.0.0",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-hook-form": "^7.39.1",
    "react-native": "0.70.5",
    "react-native-dotenv": "^3.3.1",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-logs": "^5.0.1",
    "react-native-modal": "^13.0.1",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-svg-transformer": "^1.0.0",
    "react-native-text-input-mask": "^3.1.4",
    "react-native-web": "~0.18.7",
    "react-navigation-stack": "^2.10.4",
    "react-query": "^3.39.2",
    "react-redux": "^8.0.2",
    "redux": "^4.2.0",
    "styled-components": "^5.3.5",
    "yup": "^0.32.11"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3",
    "@types/color": "^3.0.3",
    "@types/react": "~18.0.24",
    "@types/react-native": "~0.70.6",
    "@types/react-native-dotenv": "^0.2.0",
    "@types/react-navigation": "^3.4.0",
    "@types/react-redux": "^7.1.24",
    "@types/styled-components": "^5.1.26",
    "@types/styled-components-react-native": "^5.1.3",
    "babel-loader": "^8.2.5",
    "eslint-config-universe": "^11.1.0",
    "eslint-import-resolver-babel-module": "^5.3.1",
    "eslint-plugin-import": "^2.26.0",
    "metro-react-native-babel-preset": "^0.73.4",
    "patch-package": "^6.5.0",
    "react-devtools-core": "~4.25.0",
    "typescript": "^4.6.3"
  },
  "private": true
}

//index.js
import { registerRootComponent } from 'expo';

import App from './App';

registerRootComponent(App);

// app.tsx
import React from 'react';
import { Provider as ReduxProvider } from 'react-redux';
import { store } from '_state';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import NavigationHandler from 'src/navigations/NavigationHandler';
import { ThemeContextWrapper } from 'src/contexts';

export default function App() {
  return (
    <ReduxProvider store={store}>
      <ThemeContextWrapper>
        <SafeAreaProvider>
          <NavigationHandler />
        </SafeAreaProvider>
      </ThemeContextWrapper>
    </ReduxProvider>
  )
}

The entry point hasn’t changed, and the message isn’t very descriptive. No errors print in the console for either the simulator or when I run it on a device. It looks like it starts normally, and when the app loads, I have the screen above.

I appreciate any time you spend looking at this!
Thanks!

I’ve tried everything I can find on google for related issues.

Android emulator is Android 11, API 30.
IOS sim is most recent software version.
Android Phone is Android 10, Knox API 30.
Iphone is software version 15.6.1

If anyone has any ideas, I am open to them. Thank you.

I tried running this as react-native run-android and, and the metro terminal doesn’t spit out anything useful either:
image

That’s after refreshing it a couple times.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.