apply plugin: 'com.android.library' import groovy.json.JsonSlurper def DEFAULT_COMPILE_SDK_VERSION = 29 def DEFAULT_MIN_SDK_VERSION = 16 def DEFAULT_TARGET_SDK_VERSION = 29 def getNpmVersion() { def packageJsonFile = file('../package.json') def packageJson = new JsonSlurper().parseText(packageJsonFile.text) return packageJson.version } repositories { mavenLocal() mavenCentral() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } maven { // Android JSC is installed from npm url "$rootDir/../node_modules/jsc-android/dist" } google() } def safeExtGet(prop, fallback) { rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback } // Top-level build file where you can add configuration options common to all sub-projects/modules. android { compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) buildFeatures { buildConfig true } defaultConfig { minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION) targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION) versionCode 1 versionName "1.0" buildConfigField("String", "RNBRANCH_VERSION", "\"${getNpmVersion()}\"") } } dependencies { implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' implementation 'com.facebook.react:react-native:+' // From node_modules api 'io.branch.sdk.android:library:5.21.1' }