【发布时间】:2018-11-19 21:44:44
【问题描述】:
我正在尝试通过 adb 向 android 设备发送命令,以触发 logcat 记录到设备上的文件。 为此,我触发了命令:
adb shell "logcat > /sdcard/logcat.log"
到目前为止一切顺利,但问题是我需要该命令在后台运行,而不是保持与 PC 的开放连接。 意思是,如果我发送命令并断开 USB 电缆,我想让 logcat 记录在后台继续运行。 如果我执行
$ adb shell
$ logcat > /sdcard/logcat.log &
我可以安全地断开 USB 数据线,然后继续录制。 但是,如果我从外壳外部执行命令如下:
adb shell "logcat > /sdcard/logcat.log &"
我在/sdcard 中得到一个名为logcat.log 的文件,其权重为0 字节。
在尝试了几种变体后,我尝试使用命令放置一个脚本文件
/sdcard 中的“logcat > /sdcard/logcat.log &”称为 /logcatScript.log
并使用
adb shell "sh /sdcard/logcatScript.log"
但正在创建相同的 0 字节文件。
设备没有root,也不应该,所以busyBox不是一个选项。
【问题讨论】:
-
adb shell "logcat -f /sdcard/logcat.log &" -
@AlexP。什么都没有发生(缺少“>”?)。我在 -f 之后添加了一个重定向符号,但结果与帖子中的相同。一个 0 字节的文件。
标签: android linux shell adb logcat