import java.io.FileInputStream import java.util.Properties plugins { id("com.android.application") id("dev.flutter.flutter-gradle-plugin") id("com.google.gms.google-services") } val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("key.properties") if (!keystorePropertiesFile.exists()) { throw GradleException( "Missing android/key.properties. " + "Create it from android/key.properties.template." ) } FileInputStream(keystorePropertiesFile).use { keystoreProperties.load(it) } fun requiredKeystoreProperty(name: String): String { val value = keystoreProperties.getProperty(name)?.trim() println("MotorSignal signing property [$name]: ${if (value.isNullOrEmpty()) "" else ""}") if (value.isNullOrEmpty()) { println("Properties actually loaded by Gradle: ${keystoreProperties.keys}") throw GradleException( "Missing $name in android/key.properties" ) } return value } val releaseStorePassword = requiredKeystoreProperty("storePassword") val releaseKeyPassword = requiredKeystoreProperty("keyPassword") val releaseKeyAlias = requiredKeystoreProperty("keyAlias") val releaseStoreFile = requiredKeystoreProperty("storeFile") android { namespace = "app.motorsignal.motorcycle" compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { applicationId = "app.motorsignal.motorcycle" minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } signingConfigs { create("release") { keyAlias = releaseKeyAlias keyPassword = releaseKeyPassword storePassword = releaseStorePassword storeFile = rootProject.file(releaseStoreFile) storeType = "PKCS12" } } buildTypes { release { signingConfig = signingConfigs.getByName("release") } } } kotlin { compilerOptions { jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } flutter { source = "../.." }