build: configure release signing for Android APK

Reads keystore credentials from keystore.properties (gitignored).
Keystore file (myice.keystore) is also gitignored.
This commit is contained in:
2026-07-09 16:05:49 +02:00
parent 765fe51720
commit 8c2de8b475
2 changed files with 26 additions and 0 deletions
+24
View File
@@ -1,5 +1,7 @@
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import java.util.Properties
import java.io.FileInputStream
plugins {
alias(libs.plugins.kotlin.multiplatform)
@@ -9,6 +11,12 @@ plugins {
alias(libs.plugins.android.application)
}
val keystorePropertiesFile = rootProject.file("keystore.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
kotlin {
androidTarget {
compilations.all {
@@ -86,6 +94,22 @@ android {
versionName = "1.0"
}
signingConfigs {
create("release") {
keystoreProperties["storeFile"]?.let { storeFile = rootProject.file(it) }
storePassword = keystoreProperties["storePassword"] as String?
keyAlias = keystoreProperties["keyAlias"] as String?
keyPassword = keystoreProperties["keyPassword"] as String?
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11