我正在尝试通过命令行从 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 文件的内容。结合我的过滤,我能够得到我正在寻找的东西。
最佳答案
我能够找到我认为可行的解决方案 - 我只需要添加 -d 标志。 -d 将转储日志并退出。这不会打开流并将 logcat 文件的内容打印到标准输出。结合我的过滤,我能够得到我正在寻找的东西。
我需要的命令是:
adb logcat -d AccessibilityValidator:E *:S
关于android - 有什么方法可以在不打开输出流的情况下获取当前 logcat 输出的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189929/