fix: 直接在 build.gradle 内配置签名

This commit is contained in:
CI Bot
2026-06-02 18:57:03 +08:00
parent defbbec0cf
commit f9a4073218
+13 -34
View File
@@ -37,41 +37,20 @@ jobs:
echo "org.gradle.jvmargs=-Xmx2g" >> gradle.properties echo "org.gradle.jvmargs=-Xmx2g" >> gradle.properties
cat gradle.properties cat gradle.properties
- name: Setup Signing Config - name: Configure Signing in build.gradle
run: | run: |
echo '=== 创建签名配置 ===' echo '=== 配置签名到 build.gradle ==='
echo 'android {' > app/signing-config.gradle
echo ' signingConfigs {' >> app/signing-config.gradle # 在 android {} 块内添加 signingConfigs 和修改 buildTypes
echo ' release {' >> app/signing-config.gradle # 使用 sed 在 'buildTypes {' 之前插入 signingConfigs
echo " storeFile file('release.keystore')" >> app/signing-config.gradle sed -i '/^ buildTypes {/i\ signingConfigs {\n release {\n storeFile file("release.keystore")\n storePassword System.getenv("KEYSTORE_PASSWORD")\n keyAlias System.getenv("KEY_ALIAS")\n keyPassword System.getenv("KEY_PASSWORD")\n v1SigningEnabled true\n v2SigningEnabled true\n }\n }' app/build.gradle
echo " storePassword System.getenv('KEYSTORE_PASSWORD')" >> app/signing-config.gradle
echo " keyAlias System.getenv('KEY_ALIAS')" >> app/signing-config.gradle # 修改 buildTypes 中的 release 块,添加 signingConfig
echo " keyPassword System.getenv('KEY_PASSWORD')" >> app/signing-config.gradle sed -i '/release {/,/}/ { /minifyEnabled/i\ signingConfig signingConfigs.release
echo ' v1SigningEnabled true' >> app/signing-config.gradle }' app/build.gradle
echo ' v2SigningEnabled true' >> app/signing-config.gradle
echo ' }' >> app/signing-config.gradle echo '✅ 签名配置已添加'
echo ' }' >> app/signing-config.gradle cat app/build.gradle
echo ' buildTypes {' >> app/signing-config.gradle
echo ' release {' >> app/signing-config.gradle
echo ' signingConfig signingConfigs.release' >> app/signing-config.gradle
echo ' minifyEnabled false' >> app/signing-config.gradle
echo ' shrinkResources false' >> app/signing-config.gradle
echo ' }' >> app/signing-config.gradle
echo ' }' >> app/signing-config.gradle
echo '}' >> app/signing-config.gradle
echo '✅ 签名配置已创建'
cat app/signing-config.gradle
- name: Apply Signing Config
run: |
echo '=== 应用签名配置到 build.gradle ==='
if ! grep -q 'signing-config.gradle' app/build.gradle; then
sed -i "1i apply from: 'signing-config.gradle'" app/build.gradle
echo '✅ 签名配置已应用'
else
echo '⚠️ 签名配置已存在'
fi
head -5 app/build.gradle
- name: Build Signed Release APK - name: Build Signed Release APK
env: env: