From cc5577f03bf8f5f33c515b1fb82af00d2b965708 Mon Sep 17 00:00:00 2001 From: Timmy Date: Fri, 17 Apr 2026 13:04:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=20release=20=E7=B0=BD?= =?UTF-8?q?=E7=AB=A0=E8=A8=AD=E5=AE=9A=EF=BC=88keystore.properties=20gitig?= =?UTF-8?q?nored=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/.gitignore | 1 + android/app/build.gradle.kts | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/android/.gitignore b/android/.gitignore index a4dddc0..0c557f1 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -1,6 +1,7 @@ .gradle/ build/ local.properties +keystore.properties *.iml .idea/ .kotlin/ diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 4cf6a68..3f94ac0 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,9 +1,16 @@ +import java.util.Properties + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.plugin.compose") } +val keystoreProps = Properties().apply { + val f = rootProject.file("keystore.properties") + if (f.exists()) f.inputStream().use { load(it) } +} + android { namespace = "tw.local.botrates" compileSdk = 34 @@ -29,6 +36,17 @@ android { compose = true } + signingConfigs { + if (keystoreProps.isNotEmpty()) { + create("release") { + storeFile = file(keystoreProps.getProperty("storeFile")) + storePassword = keystoreProps.getProperty("storePassword") + keyAlias = keystoreProps.getProperty("keyAlias") + keyPassword = keystoreProps.getProperty("keyPassword") + } + } + } + buildTypes { release { isMinifyEnabled = false @@ -36,6 +54,9 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) + if (keystoreProps.isNotEmpty()) { + signingConfig = signingConfigs.getByName("release") + } } }