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


当前回答

把这个放到applog.sh

#!/bin/sh
PACKAGE=$1
APPPID=`adb -d shell ps | grep "${PACKAGE}" | cut -c10-15 | sed -e 's/ //g'`
adb -d logcat -v long \
 | tr -d '\r' | sed -e '/^\[.*\]/ {N; s/\n/ /}' | grep -v '^$' \
 | grep " ${APPPID}:"

然后: applog.sh com.example.my.package

其他回答

对我来说,这适用于mac终端 找到你有adb的文件夹,然后在终端中键入下面的命令

./adb logcat MyTAG:V AndroidRuntime:E *:S

这里它将过滤MyTAG和AndroidRuntime的所有日志

尝试:Window -> Preferences -> Android -> LogCat。修改字段“如果…显示logcat视图”的值为“VERBOSE”。它帮助了我。

从Android 7.0开始,logcat有——pid过滤选项,pidof命令可用,将com.example.app替换为您的包名。 (ubuntu终端/ Android 7.0起)

adb logcat --pid=`adb shell pidof -s com.example.app`

or

adb logcat --pid=$(adb shell pidof -s com.example.app)

有关pidof命令的更多信息: https://stackoverflow.com/a/15622698/7651532

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

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

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

adb logcat AndroidRuntime:E *:S

为了访问日志,首先需要安装ADB命令行工具。ADB命令行工具是android studio平台工具的一部分,可以从这里下载。在此之后,需要设置adb工具的path/environment变量。现在您可以从eclipse终端/ intellij终端或mac终端(如果您使用的是macbook)访问logcat。

adb logcat:获取整个logcat。

adb shell pidof 'com.example.debug':获取应用程序的进程id。

adb logcat pid=<pid>:获取特定于应用程序的logcat。

adb logcat pid=<pid>|grep 'sometext':根据某些文本对logcat进行过滤。

有关过滤日志猫的更多信息,请阅读此。