$ adb --help
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
$ adb devices
List of devices attached
emulator-5554 device
7f1c864e device
$ adb shell -s 7f1c864e
error: more than one device and emulator
$ adb --help
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
$ adb devices
List of devices attached
emulator-5554 device
7f1c864e device
$ adb shell -s 7f1c864e
error: more than one device and emulator
Gemäß https://developer.Android.com/studio/command-line/adb#directingcommands
Das hat bei meinen Tests funktioniert:
UBUNTU BASH TERMINAL:
$ adb devices
List of devices attached
646269f0 device
8a928c2 device
$ export ANDROID_SERIAL=646269f0
$ echo $ANDROID_SERIAL
646269f0
$ adb reboot bootloader
Windows-Befehl PROMPT:
$ adb devices
List of devices attached
646269f0 device
8a928c2 device
$ set ANDROID_SERIAL=646269f0
$ echo $ANDROID_SERIAL$
646269f0
$ adb reboot bootloader
Dadurch können Sie normale Befehle und Skripte verwenden, als ob nur das Gerät ANDROID_SERIAL angeschlossen wäre.
Alternativ können Sie auch jedes Mal die Seriennummer des Geräts angeben.
$ adb -s 646269f0 shell
Este . nimmt Ihnen die meiste Arbeit ab und zeigt ein Menü an, wenn mehrere Geräte angeschlossen sind:
$ adb $(android-select-device) shell
1) 02783201431feeee device 3) emulator-5554
2) 3832380FA5F30000 device 4) emulator-5556
Select the device to use, <Q> to quit:
Um Tipparbeit zu vermeiden, können Sie einfach einen Alias erstellen, der die Geräteauswahl wie folgt enthält aquí .
Benutzer @janot
hat dies bereits oben erwähnt, aber ich habe einige Zeit gebraucht, um die beste Lösung herauszufiltern.
Es gibt zwei allgemeine Anwendungsfälle:
1) Es sind 2 Geräte angeschlossen, das erste ist ein Emulator und das andere ist ein Gerät.
Lösung : adb -e shell....whatever-command
für den Emulator und adb -d shell....whatever-command
für das Gerät.
2) n Geräte sind über USB/ADB-WiFi angeschlossen (alle Emulatoren oder Telefone/Tablets):
Lösung : Schritt1) laufen adb devices
Dadurch erhalten Sie eine Liste der derzeit angeschlossenen Geräte (über USB oder ADBoverWiFI)
Schritt2) jetzt ausführen adb -s <device-id/IP-address> shell....whatever-command
unabhängig davon, wie viele Geräte Sie haben.
Ejemplo
zum Löschen von App-Daten auf einem über WLAN verbundenen Gerät würde ich ADB ausführen:
adb -s 172.16.34.89:5555 shell pm clear com.package-id
zum Löschen von App-Daten auf meinem über USB angeschlossenen Gerät würde ich ausführen:
adb -s 5210d21be2a5643d shell pm clear com.package-id
Für Windows finden Sie hier ein kurzes Beispiel, wie Sie eine Datei auf mehreren Geräten installieren können
FOR /F "skip=1" %x IN ('adb devices') DO start adb -s %x install -r myandroidapp.apk
Wenn Sie dies in eine Stapeldatei einfügen möchten, ersetzen Sie %x durch %%x, wie unten beschrieben
FOR /F "skip=1" %%x IN ('adb devices') DO start adb -s %%x install -r myandroidapp.apk
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.