bollwerk/.github/skills/android-emulator/SKILL.md
Jens Reinemann 6116a6c6ef docs: Android-Skills und Dev-Skript hinzufügen
Drei Copilot-Skills für den Android-Workflow:
- android-build: Gradle-Build, bekannte Issues (OneDrive, stderr)
- android-emulator: AVD-Verwaltung, Boot-Handling, S24Ultra_API35
- android-device: Physisches Gerät (Samsung S24 Ultra), USB/Wireless ADB

Zentrales PowerShell-Skript android-dev.ps1 mit 13 Aktionen:
build, clean, clean-build, emulator-start/stop, install-emulator/device,
launch, deploy-emulator/device, logcat, devices, screenshot.
Getestet: build, deploy-emulator, screenshot, emulator-stop.
2026-05-13 16:57:24 +02:00

160 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: android-emulator
description: "Android-Emulator starten, Apps installieren/starten, AVD verwalten, Logs lesen. Verwende diesen Skill für alles rund um den Android-Simulator: Starten, Stoppen, App-Deployment, Logcat, Screenshots. Trigger-Phrasen: 'Emulator', 'Simulator', 'AVD', 'virtuelles Gerät', 'Emulator starten', 'App im Simulator', 'logcat'."
---
# Skill: Android Emulator
Verwaltet den Android-Emulator für die Krisenvorrat-App. Das Standard-AVD simuliert ein Samsung S24 Ultra.
---
## Setup
| Komponente | Wert |
| -------------- | ----------------------------------------------------------- |
| Emulator | `C:\Users\JensR\AppData\Local\Android\Sdk\emulator\emulator.exe` |
| ADB | `C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe` |
| AVD Manager | `C:\Users\JensR\AppData\Local\Android\Sdk\cmdline-tools\latest\bin\avdmanager.bat` |
| AVD Name | `S24Ultra_API35` |
| System Image | `system-images;android-35;google_apis;x86_64` |
| Basisprofil | `pixel_7_pro` (6.7" QHD+, nächstes Profil zu S24 Ultra) |
| Anpassungen | 3120×1440, 560dpi, 4096 MB RAM (Emulator-Limit) |
---
## Operationen via Skript (bevorzugt)
```powershell
# Emulator starten (wartet auf Boot)
& ".github/skills/android-build/android-dev.ps1" -Action emulator-start
# App bauen + auf Emulator installieren + starten
& ".github/skills/android-build/android-dev.ps1" -Action deploy-emulator
# Nur installieren (ohne Build)
& ".github/skills/android-build/android-dev.ps1" -Action install-emulator
# App starten (bereits installiert)
& ".github/skills/android-build/android-dev.ps1" -Action launch
# Emulator stoppen
& ".github/skills/android-build/android-dev.ps1" -Action emulator-stop
# Logcat (gefiltert auf App)
& ".github/skills/android-build/android-dev.ps1" -Action logcat
```
---
## Manuelle Kommandos (Fallback)
### Emulator starten
```powershell
$env:ANDROID_HOME = "C:\Users\JensR\AppData\Local\Android\Sdk"
Start-Process "$env:ANDROID_HOME\emulator\emulator.exe" -ArgumentList "-avd S24Ultra_API35 -gpu auto"
```
### Auf Boot warten
```powershell
$adb = "$env:ANDROID_HOME\platform-tools\adb.exe"
& $adb wait-for-device
do {
Start-Sleep -Seconds 5
$boot = & $adb shell getprop sys.boot_completed 2>$null
} while ($boot -ne "1")
```
**Hinweis:** Der Boot dauert 3090 Sekunden. `sys.boot_completed` gibt zunächst leeren String zurück.
### App installieren
```powershell
& $adb install -r "app\build\outputs\apk\debug\app-debug.apk"
```
`-r` = Replace (Reinstall ohne Datenverlust).
### App starten
```powershell
& $adb shell am start -n de.krisenvorrat.app/.MainActivity
```
### App stoppen
```powershell
& $adb shell am force-stop de.krisenvorrat.app
```
### Logcat (gefiltert)
```powershell
& $adb logcat --pid=$(& $adb shell pidof de.krisenvorrat.app) -v time
```
### Screenshot
```powershell
& $adb exec-out screencap -p > screenshot.png
```
### Emulator beenden
```powershell
& $adb emu kill
```
---
## Bekannte Probleme
### 1. `NullPointerException` bei Install direkt nach Boot
Der PackageManager ist noch nicht bereit, obwohl `sys.boot_completed` bereits 1 ist.
**Lösung:** 5 Sekunden nach `boot_completed=1` warten, dann installieren. Das Skript macht dies automatisch.
### 2. Emulator startet nicht (`HAXM` / Hypervisor-Fehler)
```
WHPX nicht verfügbar → Hyper-V muss aktiviert sein
```
Auf Windows: Hyper-V muss in Windows Features aktiviert sein. Der Emulator nutzt WHPX (Windows Hypervisor Platform).
### 3. Emulator-Fenster reagiert nicht
```powershell
# Hard-Kill und Neustart
& $adb emu kill
Start-Sleep -Seconds 5
# Erneut starten
```
---
## AVD-Verwaltung
### Vorhandene AVDs auflisten
```powershell
& "$env:ANDROID_HOME\cmdline-tools\latest\bin\avdmanager.bat" list avd
```
### AVD löschen
```powershell
& "$env:ANDROID_HOME\cmdline-tools\latest\bin\avdmanager.bat" delete avd -n "AVD_NAME"
```
### Neues AVD erstellen
```powershell
echo "no" | & "$env:ANDROID_HOME\cmdline-tools\latest\bin\avdmanager.bat" create avd `
-n "S24Ultra_API35" `
-k "system-images;android-35;google_apis;x86_64" `
-d "pixel_7_pro"
```