How to run logcat on multiple devices?

后端 未结 3 1663
夕颜
夕颜 2020-12-23 16:31

How can I run logcat on multiple devices at the same time? \"adb logcat\" command gives an error:

error: more than one device and emulator
相关标签:
3条回答
  • 2020-12-23 16:53

    Use the -s option of adb:

    adb -s <serialnumber>
    

    Example

    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
    

    You can combine grep whit this, to get all lines that contain it.
    an example is with System.out

    Example:

     adb -s 192.168.198.101:5555 logcat | grep "System.out"
    
    0 讨论(0)
  • 2020-12-23 16:56

    I thought it might be useful. I have this script that helps me a lot. It logcats each device to a different file. To stop logging just press 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 讨论(0)
  • 2020-12-23 17:02

    Use your device ip:
    adb -s device_ip:5555

    0 讨论(0)
提交回复
热议问题