我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。


当前回答

这是Gavriel的applog.sh的另一个变体,支持多个设备和多个进程的应用程序:

#!/bin/sh
PKG=$1
shift

APPIDS=`adb $@ shell ps | awk -v PKG="$PKG" '
    (NR == 1){appcolumn=2; for (i=1; i<=NF; i++) if ($i=="PID") {appcolumn=i}}
    index($0,PKG){print $(appcolumn)}' | paste -d \| -s`

echo "PID's: $APPIDS"
adb $@ logcat -v color | awk  "(\$3 ~ /$APPIDS/){print \$0}"

使用方法:applog.sh com.example.my.package [-s <特定设备>]

其他回答

对于windows,你可以使用我的PowerShell脚本只为你的应用程序显示消息: https://github.com/AlShevelev/power_shell_logcat

Windows命令提示符方式:adb logcat -d | findstr <package>.使用实例

*这是jj_首先提到的,但我花了很长时间才在评论中找到它…

添加过滤器

指定名称

选择你的过滤器。

在intelliJ中(可能在eclipse中也有),你可以通过文本webview过滤logcat输出,所以它基本上打印phonegap生成的所有内容

您可以使用下面的命令为您的应用程序包获取详细日志

Adb logcat com.example。myapp: V *: S

另外,如果你已经推出了你的应用程序,你想从发布的应用程序中获取错误日志,你可以使用以下命令。

adb logcat AndroidRuntime:E *:S