From 22c4da68b07c33659d943191af1fcecf413f74fb Mon Sep 17 00:00:00 2001 From: lhear <121179341+lhear@users.noreply.github.com> Date: Sun, 12 Apr 2026 12:52:42 +0800 Subject: [PATCH 1/2] build: add conditional setup for keystore on non-PR events --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b86b1e31..39d88ef0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,6 +50,7 @@ jobs: cache: false - name: Setup Keystore and Properties + if: github.event_name != 'pull_request' run: | echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 -d > ./store.jks echo "storeFile=store.jks" > ./store.properties From 7ee4e9a48d2b9957864e184ae63a558da42eb4e8 Mon Sep 17 00:00:00 2001 From: lhear <121179341+lhear@users.noreply.github.com> Date: Sun, 12 Apr 2026 13:02:30 +0800 Subject: [PATCH 2/2] fix: refactor signing configuration for build types --- app/build.gradle | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0ef06b98..1948bcc6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -58,36 +58,42 @@ android { } } - buildTypes { - release { - minifyEnabled true - shrinkResources true - signingConfig signingConfigs.release - proguardFiles( - getDefaultProguardFile('proguard-android-optimize.txt'), - 'proguard-rules.pro' - ) - } - debug { - minifyEnabled false - signingConfig signingConfigs.release - debuggable true - } - } - + def isSigningEnabled = false def propsFile = rootProject.file('store.properties') - def configName = 'release' - if (propsFile.exists() && signingConfigs.hasProperty(configName)) { + if (propsFile.exists()) { def props = new Properties() props.load(new FileInputStream(propsFile)) - if (props != null && props.containsKey('storeFile')) { - signingConfigs.named(configName).configure { + if (props.containsKey('storeFile')) { + signingConfigs.release { storeFile = rootProject.file(props['storeFile']) storePassword = props['storePassword'] keyAlias = props['keyAlias'] keyPassword = props['keyPassword'] + + enableV1Signing false + enableV2Signing false + enableV3Signing true } + isSigningEnabled = true + } + } + + buildTypes { + release { + minifyEnabled true + shrinkResources true + signingConfig isSigningEnabled ? signingConfigs.release : null + + proguardFiles( + getDefaultProguardFile('proguard-android-optimize.txt'), + 'proguard-rules.pro' + ) + } + debug { + minifyEnabled false + signingConfig isSigningEnabled ? signingConfigs.release : null + debuggable true } }