diff --git a/.gitea/workflows/android.yaml b/.gitea/workflows/android.yaml index 2d64c2a..b03f931 100644 --- a/.gitea/workflows/android.yaml +++ b/.gitea/workflows/android.yaml @@ -58,23 +58,28 @@ jobs: # 1. Frontend mit Trunk bauen trunk build --release - # 2. Android Build - Exakt wie dein erfolgreicher lokaler Test + # 2. Android Build cargo-tauri android build --target aarch64 --apk + + # 3. APK manuell signieren (Verhindert Clone-Fehler des Runners) + echo "Signiere APK..." + echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 -d > release.keystore + + # Finde die unsignierte Datei im universal Ordner + UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "*-unsigned.apk" | head -n 1) + + # Signieren mit apksigner (kommt mit den build-tools) + $ANDROID_HOME/build-tools/33.0.1/apksigner sign --ks release.keystore \ + --ks-key-alias "${{ secrets.ANDROID_KEY_ALIAS }}" \ + --ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \ + --key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \ + --out Marstemedia-Signed.apk \ + "$UNSIGNED_APK" env: JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 - - name: Sign APK - uses: r0adkall/sign-android-release@v1 - id: sign_app - with: - releaseDirectory: src-tauri/gen/android/app/build/outputs/apk/universal/release - signingKeyBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} - alias: ${{ secrets.ANDROID_KEY_ALIAS }} - keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }} - - name: Upload Signed APK uses: actions/upload-artifact@v3 with: name: Marstemedia-Signed - path: ${{ steps.sign_app.outputs.signedReleaseFile }} + path: Marstemedia-Signed.apk