From ea8ae98bc26932d1fda37a7f515043e846b8e1c6 Mon Sep 17 00:00:00 2001 From: Mayuresh Gharpure Date: Tue, 23 Nov 2021 22:46:12 +0530 Subject: [PATCH] Load Required Libraries in ReactBridge's static init (#910) * Load Required Libraries in ReactBridge's static init This change was there in RN63 and was removed in RN64 as an optimization. However, this is a probable root cause for a regression. Hence adding the patch again * Add few more libraries to be loaded in ReactBridge Co-authored-by: Mayuresh Gharpure --- .../facebook/react/bridge/ReactBridge.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java diff --git a/android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java b/android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java new file mode 100644 index 00000000000000..9c2664056cfdb3 --- /dev/null +++ b/android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java @@ -0,0 +1,28 @@ +--- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java ++++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java +@@ -31,6 +31,25 @@ public class ReactBridge { + Systrace.beginSection( + TRACE_TAG_REACT_JAVA_BRIDGE, "ReactBridge.staticInit::load:reactnativejni"); + ReactMarker.logMarker(ReactMarkerConstants.LOAD_REACT_NATIVE_SO_FILE_START); ++ ++ // JS Engine is configurable.. And we exepct only one packaged ++ // Hence ignore failure ++ try { ++ SoLoader.loadLibrary("hermes"); ++ }catch (UnsatisfiedLinkError jscE){} ++ ++ try { ++ SoLoader.loadLibrary("v8jsi"); ++ }catch (UnsatisfiedLinkError jscE){} ++ ++ SoLoader.loadLibrary("glog"); ++ SoLoader.loadLibrary("glog_init"); ++ SoLoader.loadLibrary("fb"); ++ SoLoader.loadLibrary("fbjni"); ++ SoLoader.loadLibrary("yoga"); ++ SoLoader.loadLibrary("folly_json"); ++ SoLoader.loadLibrary("reactperfloggerjni"); ++ SoLoader.loadLibrary("jsinspector"); + SoLoader.loadLibrary("reactnativejni"); + ReactMarker.logMarker(ReactMarkerConstants.LOAD_REACT_NATIVE_SO_FILE_END); + Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);