import java.util.Properties import java.io.FileInputStream plugins { id("com.android.application") // START: FlutterFire Configuration id("com.google.gms.google-services") id("com.google.firebase.firebase-perf") id("com.google.firebase.crashlytics") // END: FlutterFire Configuration id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("key.properties") if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } android { namespace = "com.savefamily.app" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 // Required by flutter_local_notifications (and any future libs that // need Java 8+ APIs on older Android API levels). isCoreLibraryDesugaringEnabled = true } kotlinOptions { jvmTarget = JavaVersion.VERSION_11.toString() } defaultConfig { applicationId = "com.savefamily.app" minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } packaging { jniLibs { keepDebugSymbols.add("*/*/libscm.so") useLegacyPackaging = true } } signingConfigs { create("release") { keyAlias = keystoreProperties["keyAlias"] as String? keyPassword = keystoreProperties["keyPassword"] as String? storeFile = keystoreProperties["storeFile"]?.let { file(it as String) } storePassword = keystoreProperties["storePassword"] as String? } } buildTypes { release { signingConfig = signingConfigs.getByName("release") proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") } debug { proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") isMinifyEnabled = false isShrinkResources = false } } flavorDimensions += "app" productFlavors { create("development") { dimension = "app" applicationIdSuffix = ".dev" resValue("string", "app_name", "SF Dev") } create("staging") { dimension = "app" applicationIdSuffix = ".stag" resValue("string", "app_name", "SF Staging") } create("production") { dimension = "app" resValue("string", "app_name", "SaveFamily") } } } flutter { source = "../.." } dependencies { coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") // Required by AntelopAwareMessagingService to forward FCM pushes to the // Antelop SDK. The Antelop AAR (com.entrust.antelop:antelop) is brought // in transitively through the flutter_treezor_entrust_sdk_bridge plugin. implementation(platform("com.google.firebase:firebase-bom:33.4.0")) implementation("com.google.firebase:firebase-messaging") implementation("com.entrust.antelop:antelop:2.6.4") }