diff --git a/.gitea/workflows/android-release-signed.yml b/.gitea/workflows/android-release-signed.yml index 5b1100f..a1b3af1 100644 --- a/.gitea/workflows/android-release-signed.yml +++ b/.gitea/workflows/android-release-signed.yml @@ -37,41 +37,20 @@ jobs: echo "org.gradle.jvmargs=-Xmx2g" >> gradle.properties cat gradle.properties - - name: Setup Signing Config + - name: Configure Signing in build.gradle run: | - echo '=== 创建签名配置 ===' - echo 'android {' > app/signing-config.gradle - echo ' signingConfigs {' >> app/signing-config.gradle - echo ' release {' >> app/signing-config.gradle - echo " storeFile file('release.keystore')" >> app/signing-config.gradle - echo " storePassword System.getenv('KEYSTORE_PASSWORD')" >> app/signing-config.gradle - echo " keyAlias System.getenv('KEY_ALIAS')" >> app/signing-config.gradle - echo " keyPassword System.getenv('KEY_PASSWORD')" >> app/signing-config.gradle - echo ' v1SigningEnabled true' >> app/signing-config.gradle - echo ' v2SigningEnabled true' >> app/signing-config.gradle - echo ' }' >> app/signing-config.gradle - echo ' }' >> app/signing-config.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 + echo '=== 配置签名到 build.gradle ===' + + # 在 android {} 块内添加 signingConfigs 和修改 buildTypes + # 使用 sed 在 'buildTypes {' 之前插入 signingConfigs + 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 + + # 修改 buildTypes 中的 release 块,添加 signingConfig + sed -i '/release {/,/}/ { /minifyEnabled/i\ signingConfig signingConfigs.release +}' app/build.gradle + + echo '✅ 签名配置已添加' + cat app/build.gradle - name: Build Signed Release APK env: