如何在不打开输出流的情况下获取当前logcat输出的快照?

时间:2016-07-04 17:44:29

标签: android logcat

我试图通过命令行从logcat获取一些过滤后的输出,但是为了自动化目的,我宁愿不打开一个logcat流。

这是我的用例:我想清除logcat,在启用AccessibilityChecks的情况下执行一些检测测试,然后检查logcat中是否有类在我的UI中找到的可访问性错误。

目前,我可以通过命令行执行此操作:

//clear logcat history:
adb logcat -c 
// Run instrumentation tests at this time. 
// Run following command when tests done: 
adb logcat AccessibilityValidator:E *:S
// ctrl-c to close stream

这是应该做的。我将看到打印出的辅助功能错误。问题是我不想打开一个logcat流。我希望得到结果,就在我的仪器测试完成时。打开一个流不是很理想,因为我需要在ctrl-C中管道到我的管道来关闭流。我真的想以纯文本形式获得输出的快照。这样的事情有可能吗?

谢谢!

编辑:我能够找到我认为可行的解决方案 - 我只需要添加-d标志。这不会打开流并将打印logcat文件的内容。结合我的过滤,我能够得到我正在寻找的东西。

1 个答案:

答案 0 :(得分:1)

我能够找到我认为可行的解决方案 - 我只需要添加-d标志。 -d将转储日志并退出。这不会打开流并将logcat文件的内容打印到stdout。结合我的过滤,我能够得到我正在寻找的东西。

我需要的命令是:

 adb logcat -d AccessibilityValidator:E *:S