adb logcat -f log.txt错误:无法打开输出文件:只读文件系统

在Windows(win7)上,通过USBdebugging一个真正的手机我想转储logcat日志到我的电脑上的文件。 数据的速度超出了日食中可用的范围; 我想要整个未过滤的日志。

根据logcat命令行指令,这应该是微不足道的

logcat -f logfile.txt

我在Windows命令行上使用adb logcat -f logfile.txt

但是这总是回应

couldn't open output file: Read-only file system

文件系统不是只读的。 在那里创build和写入文件可以正常工作,而粗略的redirect(如adb logcat > logfile.txt也可以按预期工作。 提供整个path到日志文件没有区别。

我想利用logcat的-n-r选项,但是他们需要-f才能工作。

有什么build议么?


笔记。 这个问题接近于在Ubuntu上提出的一个问题,但在Windows上没有对我有用的答案,还有一个build议是我已经尝试过,并且无法正常工作。 大多数类似的参考文献只是引用帮助页面,说-f filename应该工作。

编辑问题以保持最新的有用的评论和回应。

Solutions Collecting From Web of "adb logcat -f log.txt错误:无法打开输出文件:只读文件系统"

不幸的是, logcat-f选项似乎只能在android设备的文件系统上创build文件,而不能在开发主机上创build

通过指定一个裸文件名,很可能会导致它尝试在设备的根目录下创build一个通常不可写的文件。

如果你想在设备上创build一个文件,然后指定一个可写入的位置(适当的path会因设备和版本而异,但是以当前的例子为例):

 adb logcat -f /mnt/sdcard/log.txt 

通过进一步的解释,实验表明,键入adb logcat会导致设备上的/system/bin/logcat程序被执行,类似于如果您键入adb shell logcat时发生的情况。 ADB可以简单地将这个程序的标准或错误输出传递回主机,但是没有设备端的API,设备上运行的程序可以用它来请求ADB在开发机器上创build文件。 保存到文件和旋转操作可以在开发机器上运行的ADB部分中实现,但这不是目前的工作方式。

bonitarunner的解决scheme在开发机器上使用shellredirect是一个简单的答案。 应该有可能提出一个主机端filter程序或脚本来实现类似于-r-n选项的限制和旋转function。

 adb logcat > logfile.txt adb logcat *:E > logfile.txt 

如果你只想过滤错误。

这在MS Windows 7上适用于我。

使用adb logcat -d > log.txt

这会将日志写入您的开发机器。