diff --git a/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterTurboModuleManagerDelegate.java b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterTurboModuleManagerDelegate.java index 0baf04bc1d7..95c2b6b93fc 100644 --- a/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterTurboModuleManagerDelegate.java +++ b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterTurboModuleManagerDelegate.java @@ -17,9 +17,7 @@ import java.util.List; /** This class is responsible for creating all the TurboModules for the RNTester app. */ public class RNTesterTurboModuleManagerDelegate extends ReactPackageTurboModuleManagerDelegate { - static { - SoLoader.loadLibrary("rntester_appmodules"); - } + private static volatile boolean sIsSoLibraryLoaded; protected native HybridData initHybrid(); @@ -30,4 +28,17 @@ public class RNTesterTurboModuleManagerDelegate extends ReactPackageTurboModuleM ReactApplicationContext context, List packages) { super(context, packages); } + + @Override + protected void maybeLoadOtherSoLibraries() { + maybeLoadSoLibraries(); + } + + // Prevents issues with initializer interruptions. + private static synchronized void maybeLoadSoLibraries() { + if (!sIsSoLibraryLoaded) { + SoLoader.loadLibrary("rntester_appmodules"); + sIsSoLibraryLoaded = true; + } + } }