You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Android debugOptimized builds, tapping Settings in the React Native Dev Menu crashes the app.
DevSupportManagerBase adds a Settings menu item that launches DevSettingsActivity. However, DevSettingsActivity is declared only in ReactAndroid/src/debug/AndroidManifest.xml.
The debugOptimized build type is created from debug, but it uses matchingFallbacks += ["release"]. As a result, the debug-only manifest entry for DevSettingsActivity is not available for debugOptimized, while the Dev Menu still exposes the Settings item.
There are two practical problems here:
The Dev Menu should not expose an item that crashes the app. Tapping Settings should either work in debugOptimized, or the item should be hidden/guarded when DevSettingsActivity is not available.
Change Bundle Location should persist the changed packager host. debugOptimized is still a debuggable Metro-based variant, and currently this menu item only changes the host for the current process. After killing and restarting the app, the host falls back to the previous debug_http_host value or the default host. The behavior should be consistent with Debug Settings > Debug server host & port for device, which writes debug_http_host to SharedPreferences.
The key expectation is: debugOptimized should provide a non-crashing and persistent way to configure the Metro/bundler host.
Steps to reproduce
npx @react-native-community/cli init DebugOptimizedSettingsRepro --version 0.86.0
cd DebugOptimizedSettingsRepro
yarn start
Then
Build and install the debugOptimized variant.
Shake to open the React Native Dev Menu.
Tap Settings.
React Native Version
0.84.1
Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
OS: macOS 26.5.1
CPU: (10) arm64 Apple M4
Memory: 233.69 MB / 24.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.22.2
path: ~/.nvm/versions/node/v22.22.2/bin/node
Yarn:
version: 4.14.1
path: ~/.nvm/versions/node/v22.22.2/bin/yarn
npm:
version: 10.9.7
path: ~/.nvm/versions/node/v22.22.2/bin/npm
Watchman:
version: 2026.06.22.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods: Not Found
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.5
- iOS 26.5
- macOS 26.5
- tvOS 26.5
- visionOS 26.5
- watchOS 26.5
Android SDK: Not Found
IDEs:
Android Studio: 2026.1 AI-261.23567.138.2611.15503007
Xcode:
version: 26.6/17F113
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.19
path: /usr/bin/javac
Ruby:
version: 2.7.8
path: /Users/jerry/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.1.0
wanted: 20.1.0
react:
installed: 19.2.3
wanted: 19.2.3
react-native:
installed: 0.84.1
wanted: patch:react-native@npm%3A0.84.1#~/.yarn/patches/react-native-npm-0.84.1-edb3124e38.patch
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
info React Native v0.86.0 is now available (your project is running on v0.84.1).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.86.0
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.84.1&to=0.86.0
info For more info, check out "https://reactnative.dev/docs/upgrading?os=macos".
Description
On Android
debugOptimizedbuilds, tappingSettingsin the React Native Dev Menu crashes the app.DevSupportManagerBaseadds aSettingsmenu item that launchesDevSettingsActivity. However,DevSettingsActivityis declared only inReactAndroid/src/debug/AndroidManifest.xml.The
debugOptimizedbuild type is created fromdebug, but it usesmatchingFallbacks += ["release"]. As a result, the debug-only manifest entry forDevSettingsActivityis not available fordebugOptimized, while the Dev Menu still exposes theSettingsitem.There are two practical problems here:
Settingsshould either work indebugOptimized, or the item should be hidden/guarded whenDevSettingsActivityis not available.Change Bundle Locationshould persist the changed packager host.debugOptimizedis still a debuggable Metro-based variant, and currently this menu item only changes the host for the current process. After killing and restarting the app, the host falls back to the previousdebug_http_hostvalue or the default host. The behavior should be consistent withDebug Settings > Debug server host & port for device, which writesdebug_http_hostto SharedPreferences.The key expectation is:
debugOptimizedshould provide a non-crashing and persistent way to configure the Metro/bundler host.Steps to reproduce
npx @react-native-community/cli init DebugOptimizedSettingsRepro --version 0.86.0 cd DebugOptimizedSettingsRepro yarn startThen
debugOptimizedvariant.Settings.React Native Version
0.84.1
Output of
npx @react-native-community/cli infoScreenshots and Videos
Screenrecorder-2026-07-02-11-01-54-397.mp4