From 6b89925ab8f4d0332c8ed3285ea3379146dba63a Mon Sep 17 00:00:00 2001 From: Bytemalte Date: Fri, 30 Jan 2026 21:35:00 +0100 Subject: [PATCH] =?UTF-8?q?Build:=20Android-Signierung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/android.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/android.yaml b/.gitea/workflows/android.yaml index 9371c54..5e27cce 100644 --- a/.gitea/workflows/android.yaml +++ b/.gitea/workflows/android.yaml @@ -67,13 +67,9 @@ jobs: # 3. APK manuell signieren echo "Verarbeite Keystore-Secret..." - # Wir speichern das Secret in einer Datei, um Probleme mit Shell-Argument-Limits zu vermeiden - cat < keystore.base64 - ${{ secrets.ANDROID_KEYSTORE_BASE64 }} - EOF - - # Wir löschen ALLES, was kein valides Base64-Zeichen ist (Space, Newlines, etc.) - tr -dc 'a-zA-Z0-9+/=' < keystore.base64 | base64 -d > release.keystore + # Sicherstes Dekodieren: Erst White-Spaces weg, dann base64-binär-Output + echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' > keystore.b64 + base64 -d keystore.b64 > release.keystore # Validierung der Dateigröße FILE_SIZE=$(stat -c%s release.keystore) @@ -84,6 +80,9 @@ jobs: exit 1 fi + echo "Prüfe Keystore Integrität mit keytool..." + keytool -list -v -keystore release.keystore -storepass "${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" -alias "${{ secrets.ANDROID_KEY_ALIAS }}" + echo "Suche unsignierte APK..." UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "*-unsigned.apk" | head -n 1) if [ -z "$UNSIGNED_APK" ]; then @@ -95,6 +94,7 @@ jobs: APKSIGNER=$(find $ANDROID_HOME/build-tools -name apksigner | sort -r | head -n 1) $APKSIGNER sign --ks release.keystore \ + --ks-type PKCS12 \ --ks-key-alias "${{ secrets.ANDROID_KEY_ALIAS }}" \ --ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \ --key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \