在 Eclipse 的 logcat 查看器中,如果将其设置为过滤来自我当前正在调试的应用程序的消息,则列表会令人讨厌地闪烁。我的猜测是每次从我的设备收到日志消息时它都会重新加载列表,即使由于过滤器而没有显示它也是如此。但是,它使阅读日志消息变得非常困难。
有没有办法对付这个错误?或者是否有适用于 Android 的备用 logcat 查看器?
当它在我身上闪烁时,我使用 Logcat 窗口上的 Scroll Lock 选项。您可以通过其他按钮(例如保存日志等)在右上角找到它。
根据您运行的操作系统,有几种选择。
如果您想在 Eclipse 中本地执行此操作,我不确定您想要做什么,但这里有一些在 Eclipse 之外执行此操作的方法。
对于所有操作系统,您可以使用 adb 的内置过滤,但您只能过滤掉进程,例如您的应用程序进程或系统进程(来自 cmd、xterm 等系统终端)
adb logcat PackageManager:V com.myapp.package:V *:S
*:S 表示“使所有其他包静音”, :V 表示 Verbose 日志及以上。
对于 Linux、MacOS 等(任何基于 *IX 的操作系统)和安装了 GnuWin32 的 Windows,您可以使用
adb logcat | grep "Some search term"
如果您想使用多个搜索词,您可以使用 regexp
adb logcat | grep -E "SearchTerm1|SearchTerm2"
如果您想将输出通过管道传输到文件(在 *IX 系统上)但仍想读取输出,您可以使用
adb logcat | grep "Some term" | tee myfile.txt
它将同时打印和记录到文件。
我相信有两个 logcat 查看器,或者至少有一次。新的表现出您所描述的行为,而旧的则按预期工作。我相信这已在更高版本的 Android SDK/Eclipse 工具中得到修复。