apply plugin: "com.android.application" apply plugin: "com.google.firebase.firebase-perf" apply plugin: 'io.fabric' import com.android.build.OutputFile project.ext.react = [ entryFile: "index.js" ] apply from: "../../node_modules/react-native/react.gradle" apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" /** * Set this to true to create two separate APKs instead of one: * - An APK that only works on ARM devices * - An APK that only works on x86 devices * The advantage is the size of the APK is reduced by about 4MB. * Upload all the APKs to the Play Store and people will download * the correct one based on the CPU architecture of their device. */ def enableSeparateBuildPerCPUArchitecture = false /** * Run Proguard to shrink the Java bytecode in release builds. */ def enableProguardInReleaseBuilds = false android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { applicationId "com.reactnativefirebasedemo" minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" ndk { abiFilters "armeabi-v7a", "x86" } multiDexEnabled true } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } // applicationVariants are e.g. debug, release applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits def versionCodes = ["armeabi-v7a":1, "x86":2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } } project.ext.firebaseVersion = '12.0.0' dependencies { implementation project(':react-native-vector-icons') implementation(project(':react-native-firebase')) { transitive = false } implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.google.android.gms:play-services-base:$firebaseVersion" implementation "com.google.firebase:firebase-ads:$firebaseVersion" implementation "com.google.firebase:firebase-auth:$firebaseVersion" implementation "com.google.firebase:firebase-config:$firebaseVersion" implementation "com.google.firebase:firebase-core:$firebaseVersion" implementation "com.google.firebase:firebase-crash:$firebaseVersion" implementation "com.google.firebase:firebase-database:$firebaseVersion" implementation "com.google.firebase:firebase-messaging:$firebaseVersion" implementation "com.google.firebase:firebase-perf:$firebaseVersion" implementation "com.google.firebase:firebase-storage:$firebaseVersion" implementation "com.google.firebase:firebase-firestore:$firebaseVersion" implementation "com.google.firebase:firebase-invites:$firebaseVersion" implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') { transitive = true } implementation "com.android.support:appcompat-v7:27.0.2" implementation "com.facebook.react:react-native:+" // From node_modules } // Run this once to be able to run the application with BUCK // puts all compile dependencies into folder libs for BUCK to use task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } apply plugin: 'com.google.gms.google-services'