From 18cb4edfa791eee8108f76745ac728af93f2d9a2 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 16 Sep 2025 17:33:14 -0700 Subject: [PATCH] Ensure legacy architecture can't be initialized in Android (#53806) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53806 The Legacy architecture of React Native is not supported anymore, let's ensure nobody can initialize it anymore changelog: [internal] internal Reviewed By: cortinico Differential Revision: D82465004 fbshipit-source-id: 099764fb59d906b11cf6ad0cc6208f56df029d19 --- .../java/com/facebook/react/ReactInstanceManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 04affe8015d..090e806461c 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -328,6 +328,15 @@ public class ReactInstanceManager { } registerCxxErrorHandlerFunc(); + + // Using `if (true)` just to prevent tests / lint errors. + if (true) { + // Legacy architecture of React Native is deprecated and can't be initialized anymore. + // More details on: + // https://github.com/react-native-community/discussions-and-proposals/blob/nc/legacy-arch-removal/proposals/0929-legacy-architecture-removal.md + throw new UnsupportedOperationException( + "ReactInstanceManager.createReactContext is unsupported."); + } } private ReactInstanceDevHelper createDevHelperInterface() { @@ -1446,6 +1455,7 @@ public class ReactInstanceManager { */ private ReactApplicationContext createReactContext( JavaScriptExecutor jsExecutor, JSBundleLoader jsBundleLoader) { + FLog.d(ReactConstants.TAG, "ReactInstanceManager.createReactContext()"); ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());