import java.io.FileInputStream import java.util.Properties plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } val keystores: Map = mapOf("release" to loadKeystoreProperties("keystore.properties")) android { namespace = "com.yuanxuan.rokid" compileSdk { version = release(36) } defaultConfig { applicationId = "com.yuanxuan.rokid" minSdk = 29 targetSdk = 36 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } keystores["release"]?.let { proerties -> signingConfigs { create("release") { storeFile = rootProject.file(proerties["storeFile"] as String) storePassword = proerties["storePassword"] as String keyAlias = proerties["keyAlias"] as String keyPassword = proerties["keyPassword"] as String } } } buildTypes { debug { signingConfig = signingConfigs.getByName("release") } release { signingConfig = signingConfigs.getByName("release") isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { viewBinding = true } } dependencies { implementation(fileTree("libs") { include("*.aar", "*.jar") }) implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.androidx.leanback) implementation(libs.material) implementation(libs.androidx.activity) implementation(libs.androidx.constraintlayout) implementation(libs.logger.timber) implementation(libs.okhttp.logging.interceptor) implementation(libs.androidx.work.ktx) implementation(libs.retrofit) implementation(libs.retrofit.converter.gson) implementation(libs.lottie) implementation(libs.androidx.navigation.fragment) implementation(libs.androidx.navigation.ui) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) } fun loadKeystoreProperties(filename: String): Properties? { val keystorePropertiesFile = file("${project.rootDir}/$filename") return if (keystorePropertiesFile.exists()) { val keystoreProperties = Properties() keystoreProperties.load(FileInputStream(keystorePropertiesFile)) keystoreProperties } else { null } }