Build: Android-Signierung hinzugefügt
All checks were successful
Android Build Final Fixed / build-android (push) Successful in 7m29s
All checks were successful
Android Build Final Fixed / build-android (push) Successful in 7m29s
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user