From b235231390da938f1ccc430738e1c631decb219e Mon Sep 17 00:00:00 2001 From: Ole-Morten Duesund Date: Thu, 29 Jan 2026 17:23:00 +0100 Subject: [PATCH] Add release signing configuration - Load signing credentials from local.properties (not committed) - Keystore stored in .signing/ directory (not committed) - Release builds are now signed and installable Co-Authored-By: Claude Opus 4.5 --- .gitignore | 1 + app/build.gradle.kts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.gitignore b/.gitignore index 036871b..0250fef 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,4 @@ lint/tmp/ .Trashes ehthumbs.db Thumbs.db +.signing/ diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4d113de..7c9c599 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,13 +1,35 @@ +import java.util.Properties + plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) } +// Load signing properties from local.properties +val keystoreProperties = Properties().apply { + val localPropertiesFile = rootProject.file("local.properties") + if (localPropertiesFile.exists()) { + load(localPropertiesFile.inputStream()) + } +} + android { namespace = "no.naiv.tiltshift" compileSdk = 35 + signingConfigs { + create("release") { + val storeFilePath = keystoreProperties["storeFile"] as String? + if (storeFilePath != null) { + storeFile = file(storeFilePath) + storePassword = keystoreProperties["storePassword"] as String + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + } + } + } + defaultConfig { applicationId = "no.naiv.tiltshift" minSdk = 35 @@ -26,6 +48,7 @@ android { release { isMinifyEnabled = true isShrinkResources = true + signingConfig = signingConfigs.getByName("release") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"