$ 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
Erstellen Sie eine Bash (tools.sh), um eine serielle Schnittstelle von Geräten (oder Emulator) auszuwählen:
clear;
echo "====================================================================================================";
echo " ADB DEVICES";
echo "====================================================================================================";
echo "";
adb_devices=( $(adb devices | grep -v devices | grep device | cut -f 1)#$(adb devices | grep -v devices | grep device | cut -f 2) );
if [ $((${#adb_devices[@]})) -eq "1" ] && [ "${adb_devices[0]}" == "#" ]
then
echo "No device found";
echo "";
echo "====================================================================================================";
device=""
// Call Main Menu function fxMenu;
else
read -p "$(
f=0
for dev in "${adb_devices[@]}"; do
nm="$(echo ${dev} | cut -f1 -d#)";
tp="$(echo ${dev} | cut -f2 -d#)";
echo " $((++f)). ${nm} [${tp}]";
done
echo "";
echo " 0. Quit"
echo "";
echo "====================================================================================================";
echo "";
echo ' Please select a device: '
)" selection
error="You think it's over just because I am dead. It's not over. The games have just begun.";
// Call Validation Numbers fxValidationNumberMenu ${#adb_devices[@]} ${selection} "${error}"
case "${selection}" in
0)
// Call Main Menu function fxMenu;
*)
device="$(echo ${adb_devices[$((selection-1))]} | cut -f1 -d#)";
// Call Main Menu function fxMenu;
esac
fi
Dann kann in einer anderen Option verwenden adb -s
(globale Option -s verwendet Gerät mit angegebener Seriennummer, die $ANDROID_SERIAL außer Kraft setzt):
adb -s ${device} <command>
Ich habe diesen Code auf dem MacOS-Terminal getestet, aber ich denke, er kann auch unter Windows über das Git Bash Terminal verwendet werden.
Denken Sie auch an die Konfiguration von Umgebungsvariablen und Android SDK-Pfaden auf .bash_profile
Datei:
export ANDROID_HOME="/usr/local/opt/android-sdk/"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/tools:$PATH"
Können Sie damit Ihr spezielles Gerät verbinden:
* adb devices
--------------
List of devices attached
9f91cc67 offline
emulator-5558 device
Beispiel: Ich möchte eine Verbindung mit dem ersten Gerät "9f91cc67" herstellen.
* adb -s 9f91cc67 tcpip 8080
---------------------------
restarting in TCP mode port: 8080
dann
* adb -s 9f91cc67 connect 192.168.1.44:8080
----------------------------------------
connected to 192.168.1.44:8080
vielleicht hilft das jemandem
Hier ist ein Shell-Skript, das ich für mich selbst erstellt habe:
#! /bin/sh
for device in `adb devices | awk '{print $1}'`; do
if [ ! "$device" = "" ] && [ ! "$device" = "List" ]
then
echo " "
echo "adb -s $device $@"
echo "------------------------------------------------------"
adb -s $device $@
fi
done
Der Einfachheit halber kann man Laufkonfigurationen erstellen, die die ANDROID_SERIAL
:
Wo die adb_wifi.bat
gleich aussehen können (nur Positionsargumente %1%
y "$1"
können abweichen):
adb tcpip 5555
adb connect %1%:5555
Der Vorschuss ist, dass adb
wird die aktuelle ANDROID_SERIAL
.
Im Shell-Skript auch ANDROID_SERIAL=xyz adb shell
sollte funktionieren.
Diese Aussage ist nicht unbedingt falsch:
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
Man kann aber auch einfach die ANDROID_SERIAL
unmittelbar vor der Ausführung der adb
Befehl.
Man kann sogar z.B. einstellen. ANDROID_SERIAL=192.168.2.60:5555
zur Festlegung der Ziel-IP für adb
.
Dies ermöglicht auch die Ausführung von adb shell
wobei der Befehl als "Skriptparameter" übergeben wird.
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.