import java.util.Properties import java.io.FileInputStream plugins { id("com.android.application") id("kotlin-android") id("dev.flutter.flutter-gradle-plugin") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") } val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("key.properties") if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } android { namespace = "com.adhivasindo.eccp" compileSdk = flutter.compileSdkVersion ndkVersion = "27.0.12077973" compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 isCoreLibraryDesugaringEnabled = true } kotlinOptions { jvmTarget = JavaVersion.VERSION_11.toString() } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.adhivasindo.eccp" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } signingConfigs { create("release") { if (System.getenv("ANDROID_KEYSTORE_PATH") != null) { storeFile = file(System.getenv("ANDROID_KEYSTORE_PATH")) keyAlias = System.getenv("ANDROID_KEYSTORE_ALIAS") keyPassword = System.getenv("ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") storePassword = System.getenv("ANDROID_KEYSTORE_PASSWORD") } else { keyAlias = keystoreProperties["keyAlias"] as String? keyPassword = keystoreProperties["keyPassword"] as String? storeFile = keystoreProperties["storeFile"]?.let { file(it) } storePassword = keystoreProperties["storePassword"] as String? } } } flavorDimensions += "default" productFlavors { create("production") { dimension = "default" applicationIdSuffix = "" manifestPlaceholders["appName"] = "ECCP" } create("staging") { dimension = "default" applicationIdSuffix = ".stg" manifestPlaceholders["appName"] = "[STG] ECCP" } create("development") { dimension = "default" applicationIdSuffix = ".dev" manifestPlaceholders["appName"] = "[DEV] ECCP" } } buildTypes { getByName("release") { signingConfig = signingConfigs.getByName("release") isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) } getByName("debug") { signingConfig = signingConfigs.getByName("debug") } } } flutter { source = "../.." } dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib:2.2.10") coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") implementation(platform("com.google.firebase:firebase-bom:34.8.0")) implementation("com.google.firebase:firebase-crashlytics") implementation("com.google.firebase:firebase-analytics") }