@@ -4,6 +4,27 @@ apply plugin: "com.facebook.react"
44
55def projectRoot = rootDir. getAbsoluteFile(). getParentFile(). getAbsolutePath()
66
7+ static def versionToNumber (major , minor , patch ) {
8+ return patch * 100 + minor * 10000 + major * 1000000
9+ }
10+
11+ def getRNVersion () {
12+ def version = providers. exec {
13+ workingDir(projectDir)
14+ commandLine(" node" , " -e" , " console.log(require('react-native/package.json').version);" )
15+ }. standardOutput. asText. get(). trim()
16+
17+ def coreVersion = version. split(" -" )[0 ]
18+ def (major, minor, patch) = coreVersion. tokenize(' .' ). collect { it. toInteger() }
19+
20+ return versionToNumber(
21+ major,
22+ minor,
23+ patch
24+ )
25+ }
26+ def rnVersion = getRNVersion()
27+
728/**
829 * This is the configuration block to customize your React Native Android app.
930 * By default you don't need to apply any configuration, just uncomment the lines you need.
@@ -57,6 +78,11 @@ react {
5778 //
5879 // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
5980 // hermesFlags = ["-O", "-output-source-map"]
81+
82+ if (rnVersion >= versionToNumber(0 , 75 , 0 )) {
83+ /* Autolinking */
84+ autolinkLibrariesWithApp()
85+ }
6086}
6187
6288/**
@@ -169,5 +195,7 @@ dependencies {
169195 }
170196}
171197
172- apply from : new File ([" node" , " --print" , " require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })" ]. execute(null , rootDir). text. trim(), " ../native_modules.gradle" );
173- applyNativeModulesAppBuildGradle(project)
198+ if (rnVersion < versionToNumber(0 , 75 , 0 )) {
199+ apply from : new File ([" node" , " --print" , " require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })" ]. execute(null , rootDir). text. trim(), " ../native_modules.gradle" );
200+ applyNativeModulesAppBuildGradle(project)
201+ }
0 commit comments