adb shell logcat 输出对应APK的日志

2019-07-13 02:19发布

#!/bin/bash packageName=$1 if [ -z "$packageName" ];then echo "please input the packageName" packageName=com.android.settings else echo "input ok" fi pid= adb shell ps | grep $packageName | awk '{print $2}' echo $pid adb shell logcat -c && adb shell logcat | grep --color=auto '$pid'
1、可以输出echo $pid的值 2、可是最后一行写在脚本里面运行的时候就是不成功,要是单独打印出来就可以。还不知道什么原因。
然后单独写成下面的又是可以的。
#!/bin/bash echo "www" adb shell logcat -c && adb shell logcat | grep --color=auto $1
weiqifa@ubuntu:~/logcat$ ./test2.sh 1850 www W/System.err( 1850): Removed 2131231252 W/System.err( 1850): Removed 2131231261 D/ActivityManager( 1850): monkey mode:false D/ActivityManager( 1850): monkey running:false I/WifiEnabler( 1850): action == android.net.wifi.WIFI_STATE_CHANGED I/WifiEnabler( 1850): state ==1 I/WifiEnabler( 1850): action == android.net.wifi.supplicant.STATE_CHANGE I/WifiEnabler( 1850): action == android.net.wifi.STATE_CHANGE D/dalvikvm( 1850): GC_CONCURRENT freed 111K, 4% free 8680K/9031K, paused 11ms+4ms, total 37ms W/System.err( 1850): Removed 2131231252

所以现在我就只能先运行adb shell ps ,然后再运行我的那个shell. 才可以正常打印出的我的那个log. 具体是什么原因还是不知道,要是有谁知道的请告诉我,我还怀疑是不是shell版本的原因。
睡觉!