From d9dbe3973f1123a20727203a8ec28269c79bbf20 Mon Sep 17 00:00:00 2001 From: Mayuresh Gharpure Date: Tue, 23 Nov 2021 15:20:04 +0530 Subject: [PATCH 1/2] 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 --- .../facebook/react/bridge/ReactBridge.java | 25 +++++++++++++++++++ 1 file changed, 25 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..7629ba60e43b54 --- /dev/null +++ b/android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java @@ -0,0 +1,25 @@ +--- 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,22 @@ 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_init"); ++ SoLoader.loadLibrary("fb"); ++ SoLoader.loadLibrary("fbjni"); ++ SoLoader.loadLibrary("yoga"); ++ SoLoader.loadLibrary("jsinspector"); + SoLoader.loadLibrary("reactnativejni"); + ReactMarker.logMarker(ReactMarkerConstants.LOAD_REACT_NATIVE_SO_FILE_END); + Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE); From 1ce3290eaba2184e7d439b3e0ae2a68dee30a8a2 Mon Sep 17 00:00:00 2001 From: Mayuresh Gharpure Date: Tue, 23 Nov 2021 19:22:15 +0530 Subject: [PATCH 2/2] Add few more libraries to be loaded in ReactBridge --- .../src/main/java/com/facebook/react/bridge/ReactBridge.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 index 7629ba60e43b54..9c2664056cfdb3 100644 --- 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 @@ -1,6 +1,6 @@ --- 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,22 @@ public class ReactBridge { +@@ -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); @@ -15,10 +15,13 @@ + 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);