From 0588a8d9b3012048b517cb2be6a1e91a0c4010da Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 24 Sep 2026 20:26:50 +0200 Subject: [PATCH] docs(android-agent): README-Build-Abschnitt praezisiert; Version 0.2.0 Ehrlicher Bau-Weg (nur Docker noetig, dist/aria-android-agent.apk, Debug-Key, Installieren, Erst-Build-Kosten/Stolperer). release.sh klar als M4 geplant markiert statt als vorhandener Befehl. versionCode 2 / versionName 0.2.0 (M1+M2). Co-Authored-By: Claude Opus 4.8 --- host-agent/android/README.md | 55 +++++++++++++++++++++++++---- host-agent/android/app/build.gradle | 4 +-- 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/host-agent/android/README.md b/host-agent/android/README.md index 89bd2f4..5d8cd58 100644 --- a/host-agent/android/README.md +++ b/host-agent/android/README.md @@ -116,16 +116,59 @@ identisch, nur der Wecker ändert sich. 4. **Feinschliff** — `info`/`app_list`/`notify`, Build-Härtung, `release.sh` (Version-Param → Gitea-Release-Asset, wie die App). -## Build & Release (geplant) +## Bauen + +APK-Builds laufen **nur unter Linux** — deshalb im Docker-Container. Du brauchst +nichts Android-spezifisches installiert, **nur Docker**. Android-SDK, Gradle und +Build-Tools zieht der Container selbst (`Dockerfile.build`). ```bash cd host-agent/android -./build.sh # Docker (Android-SDK+Gradle) -> aria-android-agent.apk -./release.sh 0.1.0 # baut, taggt, laedt APK als Gitea-Release-Asset hoch +./build.sh ``` -APK wird manuell aufs Zielgerät kopiert + installiert (unbekannte Quellen -erlauben). Gitea-Release macht den Download einfach (wie die Haupt-App). +`build.sh` baut das Image `aria-android-agent-build` und lässt darin +`gradle assembleDebug` laufen. Ergebnis: + +``` +host-agent/android/dist/aria-android-agent.apk +``` + +Das ist ein **Debug-APK**: auto-signiert mit dem Android-Debug-Key, also direkt +installierbar — ohne eigenen Keystore, ohne Play Store. + +### Auf dem Handy installieren + +1. `dist/aria-android-agent.apk` aufs Zielgerät kopieren (USB, Cloud, `adb install + dist/aria-android-agent.apk`, …). +2. Antippen → Android fragt nach **„Unbekannte Quellen / Aus dieser Quelle + installieren erlauben"** → erlauben. +3. App öffnen → verbinden (QR/manuell), „Steuerung erlauben" an, für M2 zusätzlich + „Bildschirm-Zugriff erlauben" + „Bedienungshilfe öffnen". + +### Was der erste Build kostet + +Der **erste** Lauf lädt viel (JDK-Image, Gradle, Android-SDK, Dependencies) und +dauert entsprechend — mehrere Minuten. Folge-Builds sind schnell (Docker-Layer + +Gradle-Cache im Image). Häufige Stolperer: + +- **Docker fehlt / kein Zugriff** → `docker`-Rechte prüfen (`docker ps`). +- **Overlay-on-Overlay auf einem Live-ISO** („invalid argument" beim Image-Bau) — + gleiches Problem wie beim Desktop-Agent auf dem Mint-Live-System; von einer + installierten Linux-Kiste bauen. +- **Kotlin-/Manifest-Fehler** beim allerersten Bau eines neuen Meilensteins: den + Gradle-Fehler posten, das glätten wir schnell. + +### Version setzen + +Bis es `release.sh` gibt, wird die Version in `app/build.gradle` gepflegt +(`versionCode` / `versionName`). Aktuell `1` / `0.2.0` (M1+M2). + +## Release (geplant — Meilenstein 4) + +`release.sh ` — wie die `release.sh` der Haupt-App: nimmt die +Versionsnummer als Parameter, baut das APK, taggt und lädt es als +**Gitea-Release-Asset** hoch, damit der Download einfach ist. Noch nicht gebaut. > Status: **M1 + M2 fertig** (verbinden, `info`, `screenshot`, `ui_dump`). -> Als Nächstes Meilenstein 3 (Steuern). +> Als Nächstes Meilenstein 3 (Steuern), Release-Skript in M4. diff --git a/host-agent/android/app/build.gradle b/host-agent/android/app/build.gradle index 12bfc70..86ce3c1 100644 --- a/host-agent/android/app/build.gradle +++ b/host-agent/android/app/build.gradle @@ -11,8 +11,8 @@ android { applicationId 'de.hackersoft.ariaagent' minSdk 26 targetSdk 33 // 33 vermeidet die Foreground-Service-Typ-Pflicht von 34 - versionCode 1 - versionName '0.1.0' + versionCode 2 + versionName '0.2.0' } buildTypes {