4

I'm seeing this error in the Metro terminal immediately after my Android build finishes loading:

TypeError: Cannot read property 'getConfig' of null
js engine: hermes

There is no stack trace — this is the entire error.
The issue began right after I removed react-native-reanimated from my project.

  • This only happens on Android.

  • The same code runs successfully on iOS (Xcode).

  • Clearing caches did not help: Watchman, Metro, node_modules, Gradle, and Android build folders were all cleaned.

  • I also tried adjusting build files and testing different libraries and Gradle plugin versions.

React Native: 0.75.2
Hermes: enabled
Android Studio: latest
Node: 18+

Android build versions

ext {
    buildToolsVersion = "35.0.0"
    minSdkVersion = 24
    compileSdkVersion = 36
    targetSdkVersion = 36
    ndkVersion = "26.1.10909125"
    kotlinVersion = "1.9.24"
}

Dependencies

  "dependencies": {
    "@react-native-async-storage/async-storage": "^2.1.2",
    "@react-native-clipboard/clipboard": "^1.14.1",
    "@react-native-community/cli-platform-android": "^7.0.1",
    "@react-native-community/push-notification-ios": "^1.11.0",
    "@react-native-firebase/app": "13.0.0",
    "@react-native-firebase/messaging": "13.0.0",
    "@react-native-masked-view/masked-view": "^0.2.6",
    "@react-native/gradle-plugin": "^0.79.1",
    "@react-navigation/native": "^6.1.18",
    "@react-navigation/stack": "^6.4.1",
    "@sentry/react-native": "7.0.1",
    "@stripe/stripe-react-native": "^0.38.3",
    "@twotalltotems/react-native-otp-input": "1.3.5",
    "axios": "^0.26.1",
    "base-64": "^1.0.0",
    "commander": "^10.0.0",
    "cors": "2.8.5",
    "express": "4.21.1",
    "moment": "^2.29.3",
    "react": "18.3.1",
    "react-native": "0.75.2",
    "react-native-autoheight-webview": "^1.1.6",
    "react-native-background-timer": "^2.4.1",
    "react-native-base64": "^0.2.1",
    "react-native-calendars": "^1.1307.0",
    "react-native-circular-progress-indicator": "^4.1.1",
    "react-native-cli": "^2.0.1",
    "react-native-config": "^1.5.1",
    "react-native-date-picker": "^4.2.5",
    "react-native-device-info": "^14.0.4",
    "react-native-dropdown-picker": "^5.4.2",
    "react-native-gesture-handler": "^2.3.2",
    "react-native-get-random-values": "^1.11.0",
    "react-native-gifted-charts": "^1.4.32",
    "react-native-gifted-chat": "1.1.0",
    "react-native-health": "^1.19.0",
    "react-native-health-connect": "^3.3.2",
    "react-native-image-picker": "^4.8.4",
    "react-native-inappbrowser-reborn": "^3.7.0",
    "react-native-linear-gradient": "^2.8.3",
    "react-native-modal": "^13.0.1",
    "react-native-otp-auto-fill": "^0.1.17",
    "react-native-paper": "^4.12.0",
    "react-native-permissions": "^4.1.5",
    "react-native-progress": "^5.0.1",
    "react-native-responsive-screen": "^1.4.2",
    "react-native-safe-area-context": "^4.4.1",
    "react-native-screens": "^3.34.0",
    "react-native-simple-gradient-progressbar-view": "^0.2.0",
    "react-native-svg": "^15.11.1",
    "react-native-svg-transformer": "^1.5.0",
    "react-native-vector-icons": "^9.1.0",
    "react-native-webview": "^11.23.1",
    "react-redux": "^7.2.8",
    "redux": "^4.1.2",
    "redux-logger": "^3.0.6",
    "redux-persist": "^6.0.0",
    "redux-saga": "^1.1.3",
    "socket.io-client": "^4.5.1",
    "validator": "^13.7.0"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@babel/preset-env": "^7.20.0",
    "@babel/runtime": "^7.20.0",
    "@react-native/babel-preset": "0.75.2",
    "@react-native/eslint-config": "0.75.2",
    "@react-native/metro-config": "0.75.2",
    "@react-native/typescript-config": "0.75.2",
    "@types/react": "^18.2.6",
    "@types/react-test-renderer": "^18.0.0",
    "babel-jest": "^29.6.3",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-native-dotenv": "^3.4.11",
    "react-test-renderer": "18.3.1",
    "typescript": "5.0.4"
  },
  "engines": {
    "node": ">=18"
  },
  "packageManager": "[email protected]+sha512.e70835d4d6d62c07be76b3c1529cb640c7443f0fe434ef4b6478a5a399218cbaf1511b396b3c56eb03bc86424cff2320f6167ad2fde273aa0df6e60b7754029f"
}

What could cause Android to throw getConfig of null when iOS builds fine, especially after removing Reanimated?
Is this a known issue with React Native 0.75.x and the Gradle plugin?

New contributor
Ian Ross is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

1 Answer 1

1

I think it must have to do with react-native-config, I see that in your package.json. You might try pinning to a version below `1.6.0`

https://github.com/react-native-config/react-native-config/issues/857
https://github.com/react-native-config/react-native-config/issues/856

Sign up to request clarification or add additional context in comments.

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.