plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "org.elseif.yrxtals" compileSdk = 35 ndkVersion = "27.3.13750724" defaultConfig { applicationId = "org.elseif.yrxtals" minSdk = 28 targetSdk = 35 versionCode = 1 versionName = "0.1.0" ndk { abiFilters += "arm64-v8a" } } signingConfigs { getByName("debug") { storeFile = file(System.getProperty("user.home") + "/.android/debug.keystore") } create("release") { val ks = System.getenv("YRXTALS_KEYSTORE") if (ks != null) { storeFile = file(ks) storePassword = System.getenv("YRXTALS_STORE_PASSWORD") keyAlias = System.getenv("YRXTALS_KEY_ALIAS") ?: "yrxtals" keyPassword = System.getenv("YRXTALS_KEY_PASSWORD") } } } buildTypes { getByName("debug") { isMinifyEnabled = false isJniDebuggable = true } getByName("release") { isMinifyEnabled = false signingConfig = if (System.getenv("YRXTALS_KEYSTORE") != null) { signingConfigs.getByName("release") } else { signingConfigs.getByName("debug") } proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } create("releaseDebug") { initWith(getByName("release")) isDebuggable = true isJniDebuggable = true signingConfig = signingConfigs.getByName("debug") matchingFallbacks += listOf("release") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } sourceSets { getByName("main") { jniLibs.srcDirs("src/main/jniLibs") } } packaging { jniLibs { useLegacyPackaging = false } } } dependencies { implementation("androidx.core:core-ktx:1.13.1") implementation("androidx.activity:activity-ktx:1.9.2") implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.documentfile:documentfile:1.0.1") }