import java.util.Properties plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("kotlin-kapt") } val keystoreProperties = Properties() val keystorePropertiesFile = file("${project.rootDir}/keystore.properties") if (keystorePropertiesFile.exists()) { keystorePropertiesFile.inputStream().use { keystoreProperties.load(it) } } android { namespace = "com.example.shiftalarm" compileSdk = 35 defaultConfig { applicationId = "com.example.shiftalarm" minSdk = 26 targetSdk = 35 versionCode = 1119 versionName = "1.1.9" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { create("release") { storeFile = file(keystoreProperties.getProperty("storeFile", "../release.jks")) storePassword = keystoreProperties.getProperty("storePassword", "dummy") keyAlias = keystoreProperties.getProperty("keyAlias", "dummy") keyPassword = keystoreProperties.getProperty("keyPassword", "dummy") } } buildTypes { release { signingConfig = signingConfigs.getByName("release") isMinifyEnabled = false isShrinkResources = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { viewBinding = true } } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.11.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") // WorkManager (Crucial for reliable background tasks) val work_version = "2.9.0" implementation("androidx.work:work-runtime-ktx:$work_version") // Activity & Lifecycle implementation("androidx.activity:activity-ktx:1.8.2") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0") // Room Database val room_version = "2.6.1" implementation("androidx.room:room-runtime:$room_version") implementation("androidx.room:room-ktx:$room_version") kapt("androidx.room:room-compiler:$room_version") // Kotlin Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") }