首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >adb logcat -f log.txt错误:无法打开输出文件:只读文件系统

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

Stack Overflow用户
提问于 2014-05-02 17:39:52
回答 3查看 35.2K关注 0票数 25

在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应该可以工作。

问题编辑,使其与有用的评论和回应保持最新。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-07 22:58:53

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

通过指定一个空文件名,很可能会导致它尝试在设备的根目录中创建一个文件,而根目录通常是不可写的。

如果您希望在设备上创建一个文件,则指定一个可写位置(适当的路径将因设备和构建而异,但以当前的示例为例):

代码语言:javascript
复制
adb logcat -f /mnt/sdcard/log.txt

作为进一步的解释,实验表明,键入adb logcat会导致执行设备上的/system/bin/logcat程序,这与键入adb shell logcat时发生的情况类似。ADB可以简单地将该程序的标准或错误输出传递回主机,但设备上运行的程序无法使用设备端API来要求ADB在开发计算机上创建文件。可以在开发机器上运行的ADB部分中实现保存到文件和旋转操作,但这不是目前的工作方式。

bonitarunner的解决方案是在开发机器上使用shell重定向,这是一个简单的答案。应该可以想出一个主机端过滤器程序或脚本,实现类似于-r-n选项的限制和旋转功能。

票数 37
EN

Stack Overflow用户

发布于 2015-01-29 11:55:55

使用adb logcat -d > log.txt

这将把日志写到您的开发机器上。

票数 29
EN

Stack Overflow用户

发布于 2014-05-06 02:01:46

代码语言:javascript
复制
adb logcat > logfile.txt

adb logcat *:E > logfile.txt

如果您只想过滤错误。

这适用于我在MS Windows7上的操作。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23425066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档