From 1e919373d0953b8c7e9ef7ee7f15514989b21a75 Mon Sep 17 00:00:00 2001 From: Sarto Date: Sat, 4 Apr 2026 21:42:16 +0330 Subject: [PATCH] feat: update .gitignore to include keystore files and enhance signing configuration for consistent builds --- android/.gitignore | 2 ++ android/app/build.gradle | 30 ++++++++++-------------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/android/.gitignore b/android/.gitignore index c5bfecd..cabc375 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -2,3 +2,5 @@ local.properties build/ app/build/ +*.jks +*.keystore diff --git a/android/app/build.gradle b/android/app/build.gradle index b2a6b06..3b2b290 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -32,36 +32,26 @@ android { } signingConfigs { - // For CI: set env vars KEYSTORE_BASE64, KEYSTORE_PASSWORD, KEY_ALIAS, KEY_PASSWORD - // For local: put keystore.jks next to this file and set the same env vars - // If neither is set, falls back to the Android debug key so every build has a consistent signature. + // Persistent project keystore — ensures all builds (debug & release) share the same signature + // so you can install updates without uninstalling first. + // For CI: override with env vars KEYSTORE_BASE64, KEYSTORE_PASSWORD, KEY_ALIAS, KEY_PASSWORD release { def ksFile = file("keystore.jks") def ksBase64 = System.getenv("KEYSTORE_BASE64") if (ksBase64) { - // Decode base64 keystore from env var and write it to disk for Gradle to use ksFile.bytes = Base64.decoder.decode(ksBase64) - storeFile ksFile - storePassword System.getenv("KEYSTORE_PASSWORD") ?: "" - keyAlias System.getenv("KEY_ALIAS") ?: "thefeed" - keyPassword System.getenv("KEY_PASSWORD") ?: "" - } else if (ksFile.exists()) { - storeFile ksFile - storePassword System.getenv("KEYSTORE_PASSWORD") ?: "" - keyAlias System.getenv("KEY_ALIAS") ?: "thefeed" - keyPassword System.getenv("KEY_PASSWORD") ?: "" - } else { - // No release keystore available — use debug key for consistent local builds - def debugStore = new File(System.getProperty("user.home"), ".android/debug.keystore") - storeFile debugStore - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" } + storeFile ksFile + storePassword System.getenv("KEYSTORE_PASSWORD") ?: "thefeed123" + keyAlias System.getenv("KEY_ALIAS") ?: "thefeed" + keyPassword System.getenv("KEY_PASSWORD") ?: "thefeed123" } } buildTypes { + debug { + signingConfig signingConfigs.release + } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'