在windows (win7)上,通过USB调试真实的电话我想将logcat日志转储到我PC上的一个文件中。数据的速率超出了eclipse的可用范围;我想要完整的未过滤日志。
根据logcat command line instructions,这应该是微不足道的
logcat -f logfile.txt
我在windows命令行上使用adb logcat -f logfile.txt
但是这总是得到这样的响应
couldn't open output file: Read-only file system
文件系统不是只读的。在那里创建和编写文件工作得很好,像adb logcat > logfile.txt
这样的原始重定向也能按预期工作。提供日志文件的完整路径没有区别。
我想使用logcat的-n
和-r
选项,但它们需要-f
才能工作。
有什么建议吗?
笔记。这个问题很接近one asked on Ubuntu,但它没有对我在Windows上有用的答案,还有一个我已经尝试过但不起作用的建议。大多数类似的引用都简单地引用了帮助页面,说-f filename
应该可以工作。
问题编辑,使其与有用的评论和回应保持最新。
发布于 2014-05-07 22:58:53
不幸的是,logcat
的-f
选项似乎只能在安卓设备的文件系统上创建文件,而不能在开发主机上创建文件。
通过指定一个空文件名,很可能会导致它尝试在设备的根目录中创建一个文件,而根目录通常是不可写的。
如果您希望在设备上创建一个文件,则指定一个可写位置(适当的路径将因设备和构建而异,但以当前的示例为例):
adb logcat -f /mnt/sdcard/log.txt
作为进一步的解释,实验表明,键入adb logcat
会导致执行设备上的/system/bin/logcat
程序,这与键入adb shell logcat
时发生的情况类似。ADB可以简单地将该程序的标准或错误输出传递回主机,但设备上运行的程序无法使用设备端API来要求ADB在开发计算机上创建文件。可以在开发机器上运行的ADB部分中实现保存到文件和旋转操作,但这不是目前的工作方式。
bonitarunner的解决方案是在开发机器上使用shell重定向,这是一个简单的答案。应该可以想出一个主机端过滤器程序或脚本,实现类似于-r
和-n
选项的限制和旋转功能。
发布于 2015-01-29 11:55:55
使用adb logcat -d > log.txt
这将把日志写到您的开发机器上。
发布于 2014-05-06 02:01:46
adb logcat > logfile.txt
adb logcat *:E > logfile.txt
如果您只想过滤错误。
这适用于我在MS Windows7上的操作。
https://stackoverflow.com/questions/23425066
复制相似问题