Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c7a0272df3 |
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user