Wie kann ich logcat auf mehreren Geräten gleichzeitig ausführen? Der Befehl “adb logcat” gibt einen Fehler aus:
error: more than one device and emulator
Wie kann ich logcat auf mehreren Geräten gleichzeitig ausführen? Der Befehl “adb logcat” gibt einen Fehler aus:
error: more than one device and emulator
Levis501
Verwenden Sie die -s
Option von adb
:
adb -s <serialnumber>
Beispiel
C:\Users\lel>adb devices
List of devices attached
192.168.198.101:5555 device
0123456789ABCDEF device
adb -s 0123456789ABCDEF logcat
adb -s 192.168.198.101:5555 logcat
Sie können kombinieren grep
mit diesem, um alle Zeilen zu erhalten, die es enthalten.
ein Beispiel ist mit System.out
Beispiel:
adb -s 192.168.198.101:5555 logcat | grep "System.out"
Ich denke, ich werde beim nächsten Mal mehr auf adb-Parameter achten … Entschuldigung, dass ich ein so offensichtliches Problem angesprochen habe. 🙂
– Kostas
1. Juni 2011 um 15:12 Uhr
wie hast du die seriennummer bekommen? Ich habe es mit adb-Geräten versucht, aber das gibt mir diese Liste der angehängten Geräte HT05XPL09783 Gerät 100082a42935 Gerät und adb logcat -s 100082a42935 funktioniert nicht
– Lukas
29. Juni 2011 um 11:16 Uhr
Ich habe meinen dummen Fehler gefunden, es sollte wie adb -s 100082a42935 logcat bleiben
– Lukas
29. Juni 2011 um 11:17 Uhr
Gustav Meira
Ich dachte, es könnte nützlich sein. Ich habe dieses Skript, das mir sehr hilft. Es protokolliert jedes Gerät in einer anderen Datei. Um die Protokollierung zu beenden, drücken Sie einfach STRG+C.
#! /bin/bash
devices=`adb devices | grep 'device$' | cut -f1`
pids=""
for device in $devices
do
log_file="$device-`date +%d-%m-%H:%M:%S`.log"
echo "Logging device $device to \"$log_file\""
adb -s $device logcat -v threadtime > $log_file &
pids="$pids $!"
done
echo "Children PIDs: $pids"
killemall()
{
echo "Killing children (what a shame...)"
for pid in $pids
do
echo "Killing $pid"
kill -TERM $pid
done
}
trap killemall INT
wait
Verwenden Sie Ihre Geräte-IP:
adb -s device_ip:5555