diff --git a/js/react_native/android/build.gradle b/js/react_native/android/build.gradle index ebddddc8f1e8d..60aea2dfdb572 100644 --- a/js/react_native/android/build.gradle +++ b/js/react_native/android/build.gradle @@ -66,6 +66,9 @@ def checkIfOrtExtensionsEnabled() { boolean ortExtensionsEnabled = checkIfOrtExtensionsEnabled() +def REACT_NATIVE_VERSION = ['node', '--print', "JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim() +def REACT_NATIVE_MINOR_VERSION = REACT_NATIVE_VERSION.split("\\.")[1].toInteger() + android { compileSdkVersion getExtOrIntegerDefault('compileSdkVersion') buildToolsVersion getExtOrDefault('buildToolsVersion') @@ -78,7 +81,12 @@ android { externalNativeBuild { cmake { cppFlags "-O2 -frtti -fexceptions -Wall -Wno-unused-variable -fstack-protector-all" - arguments "-DNODE_MODULES_DIR=${nodeModules}" + if (REACT_NATIVE_MINOR_VERSION >= 71) { + // fabricjni required c++_shared + arguments "-DANDROID_STL=c++_shared", "-DNODE_MODULES_DIR=${nodeModules}", "-DORT_EXTENSIONS_ENABLED=${ortExtensionsEnabled}" + } else { + arguments "-DNODE_MODULES_DIR=${nodeModules}", "-DORT_EXTENSIONS_ENABLED=${ortExtensionsEnabled}" + } abiFilters (*reactNativeArchitectures()) } } @@ -210,8 +218,6 @@ repositories { } } -def REACT_NATIVE_VERSION = new File(['node', '--print', "JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) - dependencies { api "com.facebook.react:react-native:" + REACT_NATIVE_VERSION api "org.mockito:mockito-core:2.28.2"