在 windows (win7) 上,通过 USB 调试真实手机我想将 logcat 日志转储到我 PC 上的文件中。数据速率超出了 eclipse 中可用的速率;我想要整个未过滤的日志。
根据logcat command line instructions这应该是微不足道的
logcat -f logfile.txt
我在 windows 命令行上使用 adb logcat -f logfile.txt
但这总是以
响应无法打开输出文件:只读文件系统
文件系统不是只读的。在那里创建和写入文件可以正常工作,并且 adb logcat > logfile.txt
等粗略的重定向也可以按预期工作。提供日志文件的完整路径没有区别。
我想使用 logcat 的 -n
和 -r
选项,但它们需要 -f
才能工作。
有什么建议吗?
注释。
这个问题接近 one asked on Ubuntu但这没有在 Windows 上对我有用的答案,以及我已经尝试过但不起作用的一个建议。 SO 上大多数类似的引用只是引用帮助页面,说 -f 文件名
应该可以工作。
对问题进行了编辑,以使其与有用的评论和回复保持同步。
最佳答案
不幸的是,logcat
的 -f
选项似乎只能在 android 设备 的文件系统上创建文件,而不能在开发主机上。
通过指定一个裸文件名,您很可能会导致它尝试在设备的根目录中创建一个文件,该文件通常是不可写的。
如果您希望在设备上创建文件,请指定可写位置(适当的路径会因设备和版本而异,但以当前示例为例):
adb logcat -f /mnt/sdcard/log.txt
作为进一步的解释,实验表明键入 adb logcat
会导致设备上的 /system/bin/logcat
程序被执行,类似于如果你输入 adb shell logcat
。 ADB 可以轻松地将来自该程序的标准或错误输出传递回主机,但没有设备端 API 可供在设备上运行的程序用来请求 ADB 在开发机器上创建文件。保存到文件和轮换操作可以在运行在开发机器上的 ADB 部分中实现,但这不是目前的工作方式。
bonitarunner 在开发机器上使用 shell 重定向的解决方案是一个简单的答案。应该可以想出一个主机端过滤程序或脚本来实现类似于 -r
和 -n
选项的限制和旋转功能。
关于android - adb logcat -f log.txt 错误: couldn't open output file: Read-only file system,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23425066/