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?