import java.util.Properties plugins { id("com.android.application") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } // Upload-key credentials live outside version control. Copy // `android/key.properties.example` to `android/key.properties` and fill it in // before building a release bundle; without it we fall back to debug signing so // `flutter run --release` still works on a developer machine. val keystoreProperties = Properties().apply { val file = rootProject.file("key.properties") if (file.exists()) { file.inputStream().use { load(it) } } } val hasUploadKey = keystoreProperties.getProperty("storeFile") != null android { namespace = "in.doormile.customer" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { applicationId = "in.doormile.customer" minSdk = 24 targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } signingConfigs { if (hasUploadKey) { create("release") { keyAlias = keystoreProperties.getProperty("keyAlias") keyPassword = keystoreProperties.getProperty("keyPassword") storeFile = rootProject.file(keystoreProperties.getProperty("storeFile")) storePassword = keystoreProperties.getProperty("storePassword") } } } buildTypes { release { signingConfig = if (hasUploadKey) { signingConfigs.getByName("release") } else { signingConfigs.getByName("debug") } isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) } debug { applicationIdSuffix = ".debug" versionNameSuffix = "-debug" } } bundle { language { enableSplit = false } } } kotlin { compilerOptions { jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } flutter { source = "../.." }