diff --git a/.gitea/workflows/android.yaml b/.gitea/workflows/android.yaml index 44abd37..c755518 100644 --- a/.gitea/workflows/android.yaml +++ b/.gitea/workflows/android.yaml @@ -31,7 +31,9 @@ jobs: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y echo "$HOME/.cargo/bin" >> $GITHUB_PATH export PATH="$HOME/.cargo/bin:$PATH" - rustup target add aarch64-linux-android wasm32-unknown-unknown + # Alle Architekturen für Universal APK hinzufügen + rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android + rustup target add wasm32-unknown-unknown - name: Install Trunk & Tauri-CLI run: | @@ -61,17 +63,26 @@ jobs: # 1. Frontend bauen trunk build --release - # 2. Android Build + # 2. Android Build initialisieren falls nötig if [ ! -d "src-tauri/gen/android" ]; then cargo-tauri android init fi - cargo-tauri android build --target aarch64 --apk true + + # Universal APK bauen (erzeugt die Datei laut deinem Log) + cargo-tauri android build --release --apk # 3. APK manuell signieren echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' > keystore.b64 base64 -d keystore.b64 > release.keystore - UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "*-unsigned.apk" | head -n 1) + # Pfad basierend auf deinem lokalen erfolgreichen Build + UNSIGNED_APK=$(find src-tauri/gen/android/app/build/outputs/apk/universal/release -name "app-universal-release-unsigned.apk" | head -n 1) + + # Fallback falls find nichts liefert + if [ -z "$UNSIGNED_APK" ]; then + UNSIGNED_APK="src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk" + fi + APKSIGNER=$(find $ANDROID_HOME/build-tools -name apksigner | sort -r | head -n 1) $APKSIGNER sign --ks release.keystore \ @@ -80,25 +91,24 @@ jobs: --ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \ --key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \ --v4-signing-enabled true \ - --out Marstemedia-Signed.apk \ + --out Marstemedia-Universal-Signed.apk \ "$UNSIGNED_APK" - echo "Signierung erfolgreich!" + echo "Signierung der Universal APK erfolgreich!" env: JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 - name: Upload Artifact uses: actions/upload-artifact@v3 with: - name: Marstemedia-Signed - path: Marstemedia-Signed.apk + name: Marstemedia-Universal-Signed + path: Marstemedia-Universal-Signed.apk - name: Create Gitea Release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: - files: Marstemedia-Signed.apk - # Gitea braucht manchmal explizit den Namen/Body + files: Marstemedia-Universal-Signed.apk name: "Release ${{ github.ref_name }}" draft: false prerelease: false