From 9cd8ac1783af018f23c6106dc29b85ce9f7f90c5 Mon Sep 17 00:00:00 2001 From: ssbg04 Date: Thu, 17 Sep 2026 10:46:10 +0800 Subject: [PATCH] build(android): configure release signing config with key.properties --- frontend/.gitignore | 1 + frontend/android/app/build.gradle.kts | 26 ++++++++++++++++++++++--- frontend/android/key.properties.example | 4 ++++ 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 frontend/android/key.properties.example diff --git a/frontend/.gitignore b/frontend/.gitignore index c736332..2b690d3 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -46,3 +46,4 @@ app.*.map.json /android/app/profile /android/app/release /android/app/google-services.json +/android/key.properties diff --git a/frontend/android/app/build.gradle.kts b/frontend/android/app/build.gradle.kts index 3f09a35..e98a603 100644 --- a/frontend/android/app/build.gradle.kts +++ b/frontend/android/app/build.gradle.kts @@ -1,3 +1,6 @@ +import java.io.FileInputStream +import java.util.Properties + plugins { id("com.android.application") id("com.google.gms.google-services") @@ -5,6 +8,12 @@ plugins { id("dev.flutter.flutter-gradle-plugin") } +val keystorePropertiesFile = rootProject.file("key.properties") +val keystoreProperties = Properties() +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) +} + android { namespace = "com.teamsb.tis_rms" compileSdk = flutter.compileSdkVersion @@ -31,11 +40,22 @@ android { versionName = flutter.versionName } + signingConfigs { + create("release") { + keyAlias = keystoreProperties.getProperty("keyAlias") + keyPassword = keystoreProperties.getProperty("keyPassword") + storeFile = keystoreProperties.getProperty("storeFile")?.let { file(it) } + storePassword = keystoreProperties.getProperty("storePassword") + } + } + buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.getByName("debug") + signingConfig = if (keystorePropertiesFile.exists()) { + signingConfigs.getByName("release") + } else { + signingConfigs.getByName("debug") + } } } } diff --git a/frontend/android/key.properties.example b/frontend/android/key.properties.example new file mode 100644 index 0000000..c5d4abe --- /dev/null +++ b/frontend/android/key.properties.example @@ -0,0 +1,4 @@ +storePassword=tis_rms_2026 +keyPassword=tis_rms_2026 +keyAlias=upload +storeFile=upload-keystore.jks