Compare commits
16 Commits
feature/ap
...
v0.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 88e7d0cf6b | |||
| 6a11a0e0d7 | |||
| f2d36798ba | |||
| 6b89925ab8 | |||
| edefcab01c | |||
| c41394e116 | |||
| c6c00d1e4b | |||
| c00e9c83c9 | |||
| 0f9d28de61 | |||
| 432185a92d | |||
| 89509418be | |||
| bd7306ecf2 | |||
| c5053e70db | |||
| c744f3bcc5 | |||
| 174da803ec | |||
| ca9e360bfd |
@@ -1,5 +1,8 @@
|
||||
name: Android Build Final Fixed
|
||||
on: [push]
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
tags: ["v*"] # Triggert bei v0.1.0, v1.0, etc.
|
||||
|
||||
jobs:
|
||||
build-android:
|
||||
@@ -53,23 +56,51 @@ jobs:
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
export ANDROID_HOME=$HOME/android-sdk
|
||||
export NDK_HOME=$ANDROID_HOME/ndk/25.1.8937393
|
||||
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
|
||||
|
||||
# 1. Frontend mit Trunk bauen
|
||||
# 1. Frontend bauen
|
||||
trunk build --release
|
||||
|
||||
# 2. Android APK bauen
|
||||
# 2. Android Build
|
||||
if [ ! -d "src-tauri/gen/android" ]; then
|
||||
cargo-tauri android init
|
||||
fi
|
||||
|
||||
cargo-tauri android build --target aarch64 --apk true
|
||||
|
||||
# 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)
|
||||
APKSIGNER=$(find $ANDROID_HOME/build-tools -name apksigner | sort -r | head -n 1)
|
||||
|
||||
$APKSIGNER sign --ks release.keystore \
|
||||
--ks-type PKCS12 \
|
||||
--ks-key-alias "${{ secrets.ANDROID_KEY_ALIAS }}" \
|
||||
--ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" \
|
||||
--key-pass pass:"${{ secrets.ANDROID_KEY_PASSWORD }}" \
|
||||
--v4-signing-enabled true \
|
||||
--out Marstemedia-Signed.apk \
|
||||
"$UNSIGNED_APK"
|
||||
|
||||
echo "Signierung erfolgreich!"
|
||||
env:
|
||||
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
|
||||
|
||||
- name: Upload APK Artifact
|
||||
# Downgrade auf v3, da v4 auf Gitea/GHES oft nicht funktioniert
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Xiaomi-App
|
||||
# v3 unterstützt Wildcards etwas anders, daher geben wir den Pfad präzise an
|
||||
path: src-tauri/gen/android/app/build/outputs/apk/release/*.apk
|
||||
name: Marstemedia-Signed
|
||||
path: Marstemedia-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
|
||||
name: "Release ${{ github.ref_name }}"
|
||||
draft: false
|
||||
prerelease: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
/target/
|
||||
/Cargo.lock
|
||||
/.jj/
|
||||
my-release-key.keystore
|
||||
|
||||
Reference in New Issue
Block a user