我试图通过命令行从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文件的内容。结合我的过滤,我能够得到我正在寻找的东西。
答案 0 :(得分:1)
我能够找到我认为可行的解决方案 - 我只需要添加-d标志。 -d将转储日志并退出。这不会打开流并将logcat文件的内容打印到stdout。结合我的过滤,我能够得到我正在寻找的东西。
我需要的命令是:
adb logcat -d AccessibilityValidator:E *:S