44 votes

Comment exécuter logcat sur plusieurs appareils ?

Comment puis-je exécuter logcat sur plusieurs appareils en même temps ? La commande "adb logcat" renvoie une erreur :

 error: more than one device and emulator

80voto

levis501 Points 2222

Utilisez le -s option adb :

 adb -s <serialnumber>

Exemple

 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

Vous pouvez combiner grep avec ceci, pour obtenir toutes les lignes qui le contiennent. un exemple est avec System.out

Exemple:

  adb -s 192.168.198.101:5555 logcat | grep "System.out"

11voto

Gustavo Meira Points 355

J'ai pensé que cela pourrait être utile. J'ai ce script qui m'aide beaucoup. Il connecte chaque appareil à un fichier différent. Pour arrêter la journalisation, appuyez simplement sur 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

0voto

abrasadera Points 1216

Utilisez l'adresse IP de votre appareil : adb -s device_ip:5555

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X