From bc832ca3aadc2137b39d4f9323a84d811f3453d8 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Fri, 5 Apr 2024 05:25:31 -0700 Subject: [PATCH] Fix Android instacrashing on JSC with NoSuchMethodException (#43907) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43907 JSC is currently instacrashing because we missed a JvmStatic. Android will attempt to load JSCInstance.initHybrid which is missing unless we specify JvmStatic. Changelog: [Internal] [Changed] - Fix Android instacrashing on JSC with NoSuchMethodException Reviewed By: GijsWeterings Differential Revision: D55795290 fbshipit-source-id: 5d10344e3f481dc5832706d77ccf2bf163dfb30f --- .../src/main/java/com/facebook/react/runtime/JSCInstance.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt index 75ca7e6b92d..3f2227547c2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt @@ -9,14 +9,16 @@ package com.facebook.react.runtime import com.facebook.jni.HybridData import com.facebook.jni.annotations.DoNotStrip +import com.facebook.jni.annotations.DoNotStripAny import com.facebook.soloader.SoLoader -public class JSCInstance constructor() : JSRuntimeFactory(initHybrid()) { +@DoNotStripAny +public class JSCInstance : JSRuntimeFactory(initHybrid()) { private companion object { init { SoLoader.loadLibrary("jscinstance") } - @DoNotStrip protected external fun initHybrid(): HybridData + @DoNotStrip @JvmStatic private external fun initHybrid(): HybridData } }