Android: optional local release signing (keystores ignored; passwords via ~/.gradle/gradle.properties, debug unaffected)

This commit is contained in:
avi 2026-09-14 12:29:14 -05:00
commit a445105d86
2 changed files with 18 additions and 0 deletions

3
.gitignore vendored
View file

@ -37,3 +37,6 @@ desktop/app/build/
.vscode/ .vscode/
*.swp *.swp
.DS_Store .DS_Store
# --- Release signing (local-only, never commit) ---
android/keystores/*.jks

View file

@ -23,6 +23,21 @@ android {
release { release {
isMinifyEnabled = false isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
// Local release key (never committed): passwords live in
// ~/.gradle/gradle.properties as SHONAR_STORE_PASSWORD /
// SHONAR_KEY_PASSWORD. Debug builds are unaffected.
val ksProps = mapOf(
"store" to (project.findProperty("SHONAR_STORE_PASSWORD") as String?),
"key" to (project.findProperty("SHONAR_KEY_PASSWORD") as String?),
)
if (ksProps.values.all { !it.isNullOrBlank() }) {
signingConfig = signingConfigs.maybeCreate("localRelease").apply {
storeFile = rootProject.file("keystores/shonar-release.jks")
storePassword = ksProps["store"]
keyAlias = "shonar"
keyPassword = ksProps["key"]
}
}
} }
} }
compileOptions { compileOptions {