2 Commits

Author SHA1 Message Date
53e5b3ba93 fix tauri cli syntax
Some checks failed
Android Build Final Fixed / build-android (push) Has been cancelled
2026-02-11 13:50:30 +01:00
3012f84663 Update android workflow to universal apk
Some checks failed
Android Build Final Fixed / build-android (push) Failing after 9m10s
2026-02-11 13:11:37 +01:00

View File

@@ -2,7 +2,7 @@ name: Android Build Final Fixed
on: on:
push: push:
branches: [main] branches: [main]
tags: ["v*"] # Triggert bei v0.1.0, v1.0, etc. tags: ["v*"]
jobs: jobs:
build-android: build-android:
@@ -31,15 +31,16 @@ jobs:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y curl --proto '=https' --tlsv1.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"
# 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 aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
rustup target add wasm32-unknown-unknown rustup target add wasm32-unknown-unknown
- name: Install Trunk & Tauri-CLI - name: Install Trunk & Tauri-CLI (Fast & Fixed)
run: | run: |
# Trunk via Binary (schneller als Cargo compile)
wget -qO- https://github.com/trunk-rs/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- -C /usr/local/bin wget -qO- https://github.com/trunk-rs/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- -C /usr/local/bin
wget -qO- https://github.com/tauri-apps/tauri/releases/latest/download/cargo-tauri-x86_64-unknown-linux-gnu.tgz | tar -xzf- -C /usr/local/bin # Tauri CLI v2 via Cargo (sicherer für v2)
chmod +x /usr/local/bin/trunk /usr/local/bin/cargo-tauri export PATH="$HOME/.cargo/bin:$PATH"
cargo install tauri-cli --version "^2.0.0"
- name: Setup Android SDK - name: Setup Android SDK
run: | run: |
@@ -63,22 +64,21 @@ jobs:
# 1. Frontend bauen # 1. Frontend bauen
trunk build --release trunk build --release
# 2. Android Build initialisieren falls nötig # 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
# Universal APK bauen (erzeugt die Datei laut deinem Log) # FIX: Bei Android Build v2 ist --release implizit oder wird nicht als Flag akzeptiert
cargo-tauri android build --release --apk # Wir nutzen genau den Befehl, der lokal bei dir funktioniert hat:
cargo tauri android build --apk
# 3. APK manuell signieren # 3. APK manuell signieren
echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' > keystore.b64 echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | tr -d '[:space:]' > keystore.b64
base64 -d keystore.b64 > release.keystore base64 -d keystore.b64 > release.keystore
# 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) 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 if [ -z "$UNSIGNED_APK" ]; then
UNSIGNED_APK="src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk" UNSIGNED_APK="src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk"
fi fi
@@ -94,7 +94,7 @@ jobs:
--out Marstemedia-Universal-Signed.apk \ --out Marstemedia-Universal-Signed.apk \
"$UNSIGNED_APK" "$UNSIGNED_APK"
echo "Signierung der Universal APK erfolgreich!" echo "Signierung erfolgreich!"
env: env:
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64