bollwerk/.github/skills/android-emulator/SKILL.md
Jens Reinemann 9ea57f89a5 chore(skills): update paths after project move from OneDrive to X:\
android-build SKILL.md:
- Replaced all OneDrive path references with x:\krisenvorrat
- Changed 'OneDrive-Locks' terminology to 'File-Locks'

android-build android-dev.ps1:
- Changed 'OneDrive-Lock' comments to 'File-Lock'
- Script already used dynamic $PSScriptRoot path resolution, no path fix needed

android-emulator SKILL.md:
- Updated path references to new project location

Motivation: project was moved from C:\Users\JensR\OneDrive\Code\krisenvorrat
to x:\krisenvorrat to avoid OneDrive sync issues.
2026-05-13 21:57:13 +02:00

163 lines
4.9 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` (SDK-Hardwareprofil kein Samsung-Profil verfügbar, dieses Profil kommt dem S24 Ultra am nächsten: 6.7" QHD+) |
| 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 > tmp/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 (S24 Ultra Approximation)
Das SDK enthält kein Samsung-Profil. `pixel_7_pro` ist das nächstliegende Hardwareprofil
(6.7" QHD+). Display und RAM werden über `config.ini` auf S24-Ultra-Werte angepasst.
```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"
```