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 } } } } dependencies { implementation project(':react-native-vector-icons') implementation project(':react-native-firebase') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') { transitive = true } // RNFirebase required dependencies implementation "com.google.firebase:firebase-core:16.0.0" implementation "com.google.android.gms:play-services-base:15.0.1" // RNFirebase optional dependencies implementation "com.google.firebase:firebase-ads:15.0.1" implementation "com.google.firebase:firebase-auth:16.0.1" implementation "com.google.firebase:firebase-config:16.0.0" implementation "com.google.firebase:firebase-crash:16.0.0" implementation "com.google.firebase:firebase-database:16.0.1" implementation "com.google.firebase:firebase-firestore:17.0.1" implementation "com.google.firebase:firebase-functions:16.0.1" implementation "com.google.firebase:firebase-invites:16.0.0" implementation "com.google.firebase:firebase-storage:16.0.1" implementation "com.google.firebase:firebase-messaging:17.0.0" implementation "com.google.firebase:firebase-perf:16.0.0" 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'