gpt4 book ai didi

android - 是否可以在 adb logcat 中清除指定的消息或行而不是全部清除?

转载 作者:行者123 更新时间:2023-11-30 00:25:43 27 4
gpt4 key购买 nike

我正在使用 Monkeyrunner(自动化)在 Android 设备(Samsung S2)上测试应用程序,由于它不允许我在屏幕上看到图像模式,我不得不依赖 adb logcat(使用 Windows)查找特定消息,以便了解何时为我的自动化脚本加载了下一页。

为了在 logcat 中查找特定(唯一)消息,对于我的 monkeyrunner 脚本,我必须清除所有 adb 日志,然后执行搜索。

有没有办法只清除 logcat 日志中与特定标记、消息、文本或其他(!)匹配的行?而不是清除一切?

命令行 adb 功能是否允许您清除特定行,或者它是全有还是全无?

清除所有 logcat longs 是有效的,但最好只清除某些消息,这样如果/当出现应用程序崩溃时,或者我需要详细信息进行故障排除的某些事件时,我可以看到所有引导的日志直至崩溃(或重大事件)。因为如果清除所有内容,我将无法查看 logcat 日志以进行任何故障排除。

:::更多信息:::

这是我目前用来清除所有日志的函数。

def clearAdb():
p = subprocess.Popen("adb logcat -v time", shell=True, cwd="C:\Users\<USERNAME>AppData\Local\Android\sdk\platform-tools", stdout=subprocess.PIPE)
subprocess.Popen("adb logcat -c", shell=True, cwd="C:\Users\<USERNAME>AppData\Local\Android\sdk\platform-tools", stdout=subprocess.PIPE)
print("::: ADB cleared :::")

..这是我如何查找 logcat 日志的示例。此 adb 函数无限期地等待特定的 adb 消息,并在看到时进行处理。

def adb(message):
p = subprocess.Popen("adb logcat -v time", shell=True, cwd="C:\Users\<USERNAME>\AppData\Local\Android\sdk\platform-tools", stdout=subprocess.PIPE)
for line in p.stdout:
if message in line:
print("Got 'em")
break
else:
continue

...这就是我目前一起使用这些功能的方式...

clearAdb()
adb("identifyGamePackage. com.tfg.nameofapplication")

最佳答案

限制logcat输出到特定时刻后发生的消息,您不必清除日志。而是使用 logcat -T <timestamp>筛选。支持的时间戳 格式取决于 Android 版本 - 请参阅 -T logcat -h中的段落输出。

关于android - 是否可以在 adb logcat 中清除指定的消息或行而不是全部清除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45416946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com