Как запустить logcat на нескольких устройствах? - PullRequest
35 голосов
/ 01 июня 2011

Как я могу запустить logcat на нескольких устройствах одновременно?Команда "adb logcat" выдает ошибку:

error: more than one device and emulator

Ответы [ 3 ]

67 голосов
/ 01 июня 2011

Используйте параметр -s adb:

adb -s <serialnumber>

Пример

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

Вы можете комбинировать grep с этим, чтобы получитьвсе строки, которые его содержат.
пример с System.out

Пример:

 adb -s 192.168.198.101:5555 logcat | grep "System.out"
10 голосов
/ 08 мая 2014

Я подумал, что это может быть полезно. У меня есть этот сценарий, который мне очень помогает. Он записывает каждое устройство в отдельный файл. Чтобы прекратить запись, просто нажмите CTRL + 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
0 голосов
/ 09 июля 2015

Используйте ваше устройство ip:
adb -s device_ip:5555

...