frosty/android/app/build.gradle.kts
Tommy Chow 68a6c57cf2 update android config: migrate gradle to kts, upgrade firebase plugins, fix edge-to-edge
- migrate settings.gradle, build.gradle, app/build.gradle to kotlin dsl (.kts)
- upgrade java/kotlin compatibility from 1.8 to 17
- upgrade firebase gradle plugins (google-services 4.4.4, crashlytics 3.0.6, perf 2.0.2)
- remove jetifier, add gradle caching and parallel builds
- fix windowDrawsSystemBarBackgrounds for edge-to-edge at targetSdk 36
- add dataExtractionRules for android 12+ backup compliance
- use layout.buildDirectory api (replaces deprecated buildDir)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 20:13:35 -08:00

60 lines
1.7 KiB
Kotlin

import java.io.FileInputStream
import java.util.Properties
plugins {
id("com.android.application")
id("com.google.gms.google-services")
id("com.google.firebase.firebase-perf")
id("com.google.firebase.crashlytics")
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.tommychow.frosty"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
defaultConfig {
applicationId = "com.tommychow.frosty"
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String?
keyPassword = keystoreProperties["keyPassword"] as String?
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String?
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
}
}
}
flutter {
source = "../.."
}