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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

在Windows(Win 7)上,通过USB调试一个真正的手机,我想将logcat日志转储到我的PC上的一个文件中。数据的速率超出了Eclipse中可用的范围;我想要完整的未经过滤的日志。

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

logcat -f logfile.txt

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

但这总是以

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

文件系统是只读的。在那里创建和编写文件很好,并且可以进行粗略的重定向,例如adb logcat > logfile.txt也能像预期的那样工作。提供日志文件的整个路径没有什么不同。

我想要利用罗克特的-n-r选择,但它们需要-f去工作。

有什么建议吗?

提问于
用户回答回答于

不幸的是,-f选择logcat类的文件系统上只能创建文件。Android设备而不是在开发机.

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

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

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

通过进一步的解释,实验表明adb logcat导致/system/bin/logcat在要执行的设备上执行的程序,类似于键入adb shell logcat...。亚行可以将该程序的标准输出或错误输出传递回主机,但设备上运行的程序不需要使用设备端API来要求adb在开发机器上创建文件。可以在adb的开发机器上运行的部分执行文件保存和轮转操作,但这不是目前的工作方式。

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

用户回答回答于
adb logcat > logfile.txt

adb logcat *:E > logfile.txt

如果只想过滤错误。

扫码关注云+社区