import java.util.Properties import java.io.FileInputStream plugins { id("com.android.application") 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 = "app.cogwheel.conduit" compileSdk = 36 ndkVersion = "27.0.12077973" defaultConfig { applicationId = "app.cogwheel.conduit" minSdk = flutter.minSdkVersion targetSdk = 36 versionCode = flutter.versionCode versionName = flutter.versionName } compileOptions { // Align with modern Android Gradle Plugin requirements sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 // Enable core library desugaring for flutter_local_notifications isCoreLibraryDesugaringEnabled = true } kotlinOptions { // Generate JVM bytecode targeting Java 17 jvmTarget = JavaVersion.VERSION_17.toString() } signingConfigs { if (keystorePropertiesFile.exists()) { create("release") { storeFile = file(keystoreProperties["storeFile"] as String) storePassword = keystoreProperties["storePassword"] as String keyAlias = keystoreProperties["keyAlias"] as String keyPassword = keystoreProperties["keyPassword"] as String } } } buildTypes { getByName("release") { if (keystorePropertiesFile.exists()) { signingConfig = signingConfigs.getByName("release") } isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } getByName("debug") { // signingConfig = signingConfigs.getByName("debug") applicationIdSuffix = ".debug" } } } dependencies { // Core library desugaring for flutter_local_notifications coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") } flutter { source = "../.." }