Build: Android-Signierung hinzugefügt
Some checks failed
Android Build Final Fixed / build-android (push) Failing after 58s

This commit is contained in:
2026-01-30 20:33:22 +01:00
parent 89509418be
commit 432185a92d

View File

@@ -25,7 +25,7 @@ jobs:
- name: Install Rust & Targets - name: Install Rust & Targets
run: | run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y curl --proto '=https' --sv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> $GITHUB_PATH echo "$HOME/.cargo/bin" >> $GITHUB_PATH
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
rustup target add aarch64-linux-android wasm32-unknown-unknown rustup target add aarch64-linux-android wasm32-unknown-unknown
@@ -58,23 +58,34 @@ jobs:
# 1. Frontend bauen # 1. Frontend bauen
trunk build --release trunk build --release
# 2. Android Build - Wir nutzen hier 'true', wie von der CLI im Error verlangt # 2. Android Build
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 "Signiere APK..." echo "Erstelle Keystore aus Secret..."
echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 -d > release.keystore # Dekodieren ohne Zeilenumbruch-Probleme
echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' | base64 -d > release.keystore
# Finde die unsignierte Datei im universal Ordner # Sicherheitscheck: Ist die Datei valide?
if [ ! -s release.keystore ]; then
echo "FEHLER: Keystore-Datei konnte nicht erstellt werden oder ist leer."
exit 1
fi
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)
echo "Gefunden: $UNSIGNED_APK"
# Signieren echo "Signiere APK mit apksigner..."
$ANDROID_HOME/build-tools/33.0.1/apksigner sign --ks release.keystore \ # Wir nutzen Version 35.0.0, da Gradle diese laut deinem Log bevorzugt installiert hat
$ANDROID_HOME/build-tools/35.0.0/apksigner sign --ks release.keystore \
--ks-key-alias "${{ secrets.ANDROID_KEY_ALIAS }}" \ --ks-key-alias "${{ secrets.ANDROID_KEY_ALIAS }}" \
--ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \ --ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \
--key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \ --key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \
--out Marstemedia-Signed.apk \ --out Marstemedia-Signed.apk \
"$UNSIGNED_APK" "$UNSIGNED_APK"
echo "Signierung erfolgreich abgeschlossen!"
env: env:
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64