我尝试通过adb向android设备发送命令,以便触发logcat记录到设备上的文件。 为此,我触发命令:
adb shell "logcat > /sdcard/logcat.log"
到目前为止一切顺利,但问题是我需要在后台运行命令,而不是保持与PC的开放连接。 这意味着,如果我发送命令并断开usb线缆,我想让logcat记录继续在后台运行。 如果我执行
$ adb shell
$ logcat> /sdcard/logcat.log&
我可以安全地断开USB线,录音将继续进行。 但是,如果我从shell外部执行命令,如下所示:
adb shell "logcat > /sdcard/logcat.log &"
我在/sdcard
中收到一个名为logcat.log
的文件,该文件的权重为0字节。
在尝试了几个varieations之后,我尝试使用该命令放置一个脚本文件
" logcat > /sdcard/logcat.log &
"在/ sdcard中调用/logcatScript.log
并使用
adb shell" sh /sdcard/logcatScript.log"
但正在创建相同的0字节文件。
设备没有root,也不应该是,所以busyBox不是一个选项。
答案 0 :(得分:0)
我尝试了这种方法,它可以在我的设备上运行
adb shell
logcat -f sdcard / logcat.txt&
OR
adb shell logcat -f sdcard / logcat.txt&
现在您可以移除USB线缆
答案 1 :(得分:0)
解决它的最好方法是创建一个bash脚本,将其推入data / local / tmp文件夹,在大多数Android设备上,不需要定义#!/ system / bin / sh或#!/ bin / bash在第一行。 程序是:
1)使用以下命令创建文件:logcat> /sdcard/logcat.txt& amp;
2)adb push / data / local / tmp
3)adb shell chmod + x / data / local / tmp /
4)adb shell / data / local / tmp /
问候