docs(device): Wireless ADB workflow und Screenshot-Pull dokumentiert
- Wireless ADB als bevorzugten Verbindungsweg dokumentiert - Pull-Workflow für Screenshots (exec-out liefert über WLAN korrupte Bilder) - Hinweis: adb -d nur USB, Wireless braucht adb -s <IP>:<PORT> - Vollständiger Wireless-Deploy-Workflow (Build/Install/Launch)
This commit is contained in:
parent
d97882cfd6
commit
1236d61543
1 changed files with 79 additions and 22 deletions
101
.github/skills/android-device/SKILL.md
vendored
101
.github/skills/android-device/SKILL.md
vendored
|
|
@ -50,73 +50,130 @@ Erwartete Ausgabe:
|
||||||
XXXXXXXXXXXXXXXX device product:dm3q model:SM_S928B device:dm3q transport_id:N
|
XXXXXXXXXXXXXXXX device product:dm3q model:SM_S928B device:dm3q transport_id:N
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Wireless ADB (optional, kabellos)
|
### 3. Wireless ADB (bevorzugt – kein Datenkabel nötig)
|
||||||
|
|
||||||
|
**Voraussetzung:** PC und Handy im selben WLAN (aktuell: `funkbert`).
|
||||||
|
|
||||||
|
1. Auf dem Handy: **Einstellungen → Entwickleroptionen → Drahtloses Debugging** aktivieren
|
||||||
|
2. **"Gerät koppeln mit Kopplungscode"** antippen → IP:Port und 6-stelligen Code merken
|
||||||
|
3. Am PC koppeln:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
||||||
|
& $adb pair <IP>:<KOPPLUNGS-PORT> <CODE>
|
||||||
# Bei verbundenem USB: Wireless Pairing starten
|
# Beispiel: & $adb pair 192.168.68.107:36257 644638
|
||||||
& $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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
4. Verbinden (der Verbindungsport steht unter "IP-Adresse und Port" im Drahtloses-Debugging-Menü – **anderer Port als der Kopplungsport!**):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
& $adb connect <IP>:<VERBINDUNGS-PORT>
|
||||||
|
# Beispiel: & $adb connect 192.168.68.107:42539
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Prüfen:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
& $adb devices -l
|
||||||
|
# Erwartete Ausgabe: 192.168.68.107:42539 device product:e3qxeea model:SM_S928B device:e3q
|
||||||
|
```
|
||||||
|
|
||||||
|
**Hinweis:** Die Kopplung bleibt bestehen, aber der Verbindungsport ändert sich bei jedem Neustart des Debugging-Modus. Der `adb connect`-Befehl muss dann mit dem neuen Port wiederholt werden.
|
||||||
|
|
||||||
|
**Wichtig:** `adb -d` (USB-Flag) funktioniert NICHT mit Wireless ADB. Stattdessen `adb -s <IP>:<PORT>` verwenden.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Operationen via Skript
|
## Operationen via Skript
|
||||||
|
|
||||||
|
**Hinweis:** Die Skript-Aktionen `deploy-device` und `install-device` verwenden `adb -d` und funktionieren nur über USB. Bei Wireless ADB die manuellen Kommandos verwenden.
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# App bauen + auf Gerät installieren + starten
|
# App bauen + auf Gerät installieren + starten (nur USB)
|
||||||
& ".github/skills/android-build/android-dev.ps1" -Action deploy-device
|
& ".github/skills/android-build/android-dev.ps1" -Action deploy-device
|
||||||
|
|
||||||
# Nur installieren (ohne Build)
|
# Nur installieren (nur USB)
|
||||||
& ".github/skills/android-build/android-dev.ps1" -Action install-device
|
& ".github/skills/android-build/android-dev.ps1" -Action install-device
|
||||||
|
|
||||||
# App starten
|
# App starten (nur USB)
|
||||||
& ".github/skills/android-build/android-dev.ps1" -Action launch -Target device
|
& ".github/skills/android-build/android-dev.ps1" -Action launch -Target device
|
||||||
|
|
||||||
# Logcat vom Gerät
|
# Logcat vom Gerät (nur USB)
|
||||||
& ".github/skills/android-build/android-dev.ps1" -Action logcat -Target device
|
& ".github/skills/android-build/android-dev.ps1" -Action logcat -Target device
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Manuelle Kommandos (Fallback)
|
## Manuelle Kommandos (Wireless ADB & USB-Fallback)
|
||||||
|
|
||||||
|
Alle Kommandos unterstützen sowohl USB (`-d`) als auch Wireless (`-s <IP>:<PORT>`).
|
||||||
|
Bei Wireless ADB immer `-s` statt `-d` verwenden.
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
||||||
|
# Geräte-Selektor:
|
||||||
|
# USB: $sel = "-d"
|
||||||
|
# Wireless: $sel = "-s 192.168.68.107:42539" (Port prüfen!)
|
||||||
|
```
|
||||||
|
|
||||||
|
### App bauen + installieren + starten (Wireless-Workflow)
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
||||||
|
$dev = "192.168.68.107:42539" # Port prüfen!
|
||||||
|
|
||||||
|
# 1. Build
|
||||||
|
cd X:\krisenvorrat
|
||||||
|
.\gradlew.bat assembleDebug
|
||||||
|
|
||||||
|
# 2. Install
|
||||||
|
& $adb -s $dev install -r "app\build\outputs\apk\debug\app-debug.apk"
|
||||||
|
|
||||||
|
# 3. Launch
|
||||||
|
& $adb -s $dev shell am start -n de.krisenvorrat.app/.MainActivity
|
||||||
|
```
|
||||||
|
|
||||||
### App installieren
|
### App installieren
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$adb = "C:\Users\JensR\AppData\Local\Android\Sdk\platform-tools\adb.exe"
|
& $adb -s $dev install -r "app\build\outputs\apk\debug\app-debug.apk"
|
||||||
& $adb -d install -r "app\build\outputs\apk\debug\app-debug.apk"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
`-d` = nur physisches Gerät (nicht Emulator), `-r` = Reinstall.
|
`-r` = Reinstall ohne Datenverlust.
|
||||||
|
|
||||||
### App starten
|
### App starten
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
& $adb -d shell am start -n de.krisenvorrat.app/.MainActivity
|
& $adb -s $dev shell am start -n de.krisenvorrat.app/.MainActivity
|
||||||
```
|
```
|
||||||
|
|
||||||
### Logcat (gefiltert)
|
### App stoppen
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
& $adb -d logcat --pid=$(& $adb -d shell pidof de.krisenvorrat.app) -v time
|
& $adb -s $dev shell am force-stop de.krisenvorrat.app
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logcat (gefiltert auf App)
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
& $adb -s $dev logcat --pid=$(& $adb -s $dev shell pidof de.krisenvorrat.app) -v time
|
||||||
```
|
```
|
||||||
|
|
||||||
### Screenshot vom Gerät
|
### Screenshot vom Gerät
|
||||||
|
|
||||||
|
**Wichtig:** `exec-out screencap -p` liefert über Wireless ADB oft korrupte Bilder (Binärdaten-Problem). Stattdessen den **Pull-Workflow** verwenden:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
& $adb -d exec-out screencap -p > tmp/device-screenshot.png
|
# Screenshot auf Gerät speichern, herunterladen, aufräumen
|
||||||
|
& $adb -s $dev shell screencap -p /sdcard/screenshot.png
|
||||||
|
& $adb -s $dev pull /sdcard/screenshot.png tmp\device-screenshot.png
|
||||||
|
& $adb -s $dev shell rm /sdcard/screenshot.png
|
||||||
```
|
```
|
||||||
|
|
||||||
### App deinstallieren
|
### App deinstallieren
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
& $adb -d uninstall de.krisenvorrat.app
|
& $adb -s $dev uninstall de.krisenvorrat.app
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue