---
name: android-device
description: "App auf echtes Android-Handy (Samsung S24 Ultra) deployen, USB-Debugging, Wireless ADB, Logcat auf physischem Gerät. Trigger-Phrasen: 'echtes Handy', 'physisches Gerät', 'USB Debugging', 'Samsung', 'S24', 'auf dem Handy testen', 'Wireless ADB', 'Device'."
---

# Skill: Android Device (Samsung S24 Ultra)

Deployt die Krisenvorrat-App auf das physische Samsung Galaxy S24 Ultra.

---

## Gerätedaten

| Eigenschaft     | Wert                             |
| --------------- | -------------------------------- |
| Modell          | Samsung Galaxy S24 Ultra         |
| Display         | 6.8" QHD+ (3120 × 1440), 505 PPI |
| Android-Version | Android 14+ (API 34+)            |
| SoC             | Snapdragon 8 Gen 3               |
| RAM             | 12 GB                            |

---

## Ersteinrichtung (einmalig)

### 1. USB-Debugging aktivieren

Auf dem Samsung S24 Ultra:

1. **Einstellungen → Über das Telefon → Softwareinformationen**
2. **Buildnummer** 7× tippen → Entwickleroptionen werden aktiviert
3. **Einstellungen → Entwickleroptionen**:
   - **USB-Debugging** aktivieren
   - **USB-Debugging-Autorisierungen widerrufen** (falls Probleme)
   - Optional: **Bildschirm beim Laden aktiv lassen** aktivieren

### 2. USB-Verbindung

1. Samsung mit USB-C-Kabel an PC anschließen
2. Auf dem Handy: **USB-Debugging zulassen?** → **Immer von diesem Computer zulassen** → OK
3. Prüfen:

```powershell
C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
```

Erwartete Ausgabe:

```
XXXXXXXXXXXXXXXX   device product:dm3q model:SM_S928B device:dm3q transport_id:N
```

### 3. Wireless ADB (optional, kabellos)

```powershell
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"

# Bei verbundenem USB: Wireless Pairing starten
& $adb tcpip 5555

# IP-Adresse des Handys finden (Einstellungen → Über das Telefon → Status → IP-Adresse)
& $adb connect 192.168.X.X:5555

# USB-Kabel kann jetzt entfernt werden
```

---

## Operationen via Skript

```powershell
# App bauen + auf Gerät installieren + starten
& ".github/skills/android-build/android-dev.ps1" -Action deploy-device

# Nur installieren (ohne Build)
& ".github/skills/android-build/android-dev.ps1" -Action install-device

# App starten
& ".github/skills/android-build/android-dev.ps1" -Action launch -Target device

# Logcat vom Gerät
& ".github/skills/android-build/android-dev.ps1" -Action logcat -Target device
```

---

## Manuelle Kommandos (Fallback)

### App installieren

```powershell
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
& $adb -d install -r "app\build\outputs\apk\debug\app-debug.apk"
```

`-d` = nur physisches Gerät (nicht Emulator), `-r` = Reinstall.

### App starten

```powershell
& $adb -d shell am start -n de.krisenvorrat.app/.MainActivity
```

### Logcat (gefiltert)

```powershell
& $adb -d logcat --pid=$(& $adb -d shell pidof de.krisenvorrat.app) -v time
```

### Screenshot vom Gerät

```powershell
& $adb -d exec-out screencap -p > tmp/device-screenshot.png
```

### App deinstallieren

```powershell
& $adb -d uninstall de.krisenvorrat.app
```

---

## Bekannte Probleme

### 1. `unauthorized` in `adb devices`

Das Handy fragt nach USB-Debugging-Berechtigung, die noch nicht bestätigt wurde.

**Lösung:**

- Display entsperren
- Dialog **USB-Debugging zulassen?** bestätigen
- Falls kein Dialog: Entwickleroptionen → **USB-Debugging-Autorisierungen widerrufen** → USB neu anschließen

### 2. `no devices/emulators found`

**Checkliste:**

1. USB-Kabel prüfen (manche Kabel sind nur zum Laden)
2. USB-Debugging aktiviert?
3. ADB-Daemon neu starten: `& $adb kill-server; & $adb start-server`
4. Samsung-USB-Treiber installiert?

### 3. `INSTALL_FAILED_UPDATE_INCOMPATIBLE`

Die App ist mit einem anderen Signaturschlüssel installiert.

**Lösung:**

```powershell
& $adb -d uninstall de.krisenvorrat.app
& $adb -d install "app\build\outputs\apk\debug\app-debug.apk"
```

### 4. Samsung-spezifisch: App wird von Knox blockiert

Samsung Knox kann Debug-Apps blockieren. In **Entwickleroptionen → Apps über USB installieren** aktivieren.
