1 package expo.modules.devmenu.react 2 3 import android.app.Application 4 import com.facebook.hermes.reactexecutor.HermesExecutorFactory 5 import com.facebook.react.bridge.JavaScriptExecutorFactory 6 import com.facebook.react.jscexecutor.JSCExecutorFactory 7 import com.facebook.react.modules.systeminfo.AndroidInfoHelpers 8 import com.facebook.soloader.SoLoader 9 createNonDebuggableJavaScriptExecutorFactorynull10fun createNonDebuggableJavaScriptExecutorFactory(application: Application): JavaScriptExecutorFactory { 11 SoLoader.init(application.applicationContext, /* native exopackage */ false) 12 if (SoLoader.getLibraryPath("libjsc.so") != null) { 13 return JSCExecutorFactory(application.packageName, AndroidInfoHelpers.getFriendlyDeviceName()) 14 } 15 return HermesExecutorFactory().also { 16 try { 17 HermesExecutorFactory::class.java 18 .getMethod("setEnableDebugger", Boolean::class.java) 19 .invoke(it, false) 20 } catch (_: Throwable) { 21 } 22 } 23 } 24