Build: Android-Signierung hinzugefügt
All checks were successful
Android Build Final Fixed / build-android (push) Successful in 7m29s

This commit is contained in:
2026-01-30 21:53:55 +01:00
parent f2d36798ba
commit 6a11a0e0d7

View File

@@ -58,41 +58,18 @@ jobs:
# 1. Frontend bauen # 1. Frontend bauen
trunk build --release trunk build --release
# 2. Android Build initialisieren & bauen # 2. Android Build
if [ ! -d "src-tauri/gen/android" ]; then if [ ! -d "src-tauri/gen/android" ]; then
cargo-tauri android init cargo-tauri android init
fi fi
cargo-tauri android build --target aarch64 --apk true cargo-tauri android build --target aarch64 --apk true
# 3. APK manuell signieren # 3. APK manuell signieren
echo "Verarbeite Keystore-Secret..." echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' > keystore.b64
base64 -d keystore.b64 > release.keystore
# Wir speichern das Secret wortwörtlich in eine Datei (wichtig wegen Sonderzeichen)
cat <<'EOF' > keystore.b64
${{ secrets.ANDROID_KEYSTORE_BASE64 }}
EOF
# Wir löschen ALLES, was kein valides Base64-Zeichen ist (Space, Newlines, Fragen)
tr -cd 'a-zA-Z0-9+/=' < keystore.b64 | base64 -d > release.keystore
# Validierung
FILE_SIZE=$(stat -c%s release.keystore)
echo "Dekodierte Keystore-Größe: $FILE_SIZE Bytes"
if [ "$FILE_SIZE" -lt 100 ]; then
echo "FEHLER: Keystore ist korrupt oder zu klein!"
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..." echo "Suche unsignierte APK..."
UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "*-unsigned.apk" | head -n 1) UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "*-unsigned.apk" | head -n 1)
if [ -z "$UNSIGNED_APK" ]; then
echo "FEHLER: Keine APK gefunden!"
exit 1
fi
echo "Suche apksigner..." echo "Suche apksigner..."
APKSIGNER=$(find $ANDROID_HOME/build-tools -name apksigner | sort -r | head -n 1) APKSIGNER=$(find $ANDROID_HOME/build-tools -name apksigner | sort -r | head -n 1)
@@ -111,7 +88,7 @@ jobs:
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
- name: Upload Signed APK - name: Upload Signed APK
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: Marstemedia-Signed name: Marstemedia-Signed
path: Marstemedia-Signed.apk path: Marstemedia-Signed.apk