将adb logcat重定向到android avd

时间:2013-12-06 12:49:22

标签: android adt logcat

我希望在运行android app测试之前,从shell命令将Android开发人员工具logcat输出重定向到虚拟设备中的文件。 我通常用于将输出重定向到文件的命令是:

adb shell logcat -v time - f log.txt packageName:F *:E > /folder/log.txt

但它将日志文件放入计算机目录(/folder/ in this case)。 我想用虚拟设备中的目录更改它,但如上所述,它表示该文件夹不存在。 有办法通过shell命令吗?

2 个答案:

答案 0 :(得分:2)

你可以简单地做

adb shell "logcat -v time -f /mnt/sdcard/log.txt packageName:F *:E"

在主机shell的一个命令中完成所有操作。使用-f标志时不需要重定向,事实上,如果已将logcat的输出定向到文件而不是stdout,重定向将不会捕获任何内容。

如果这不起作用,可能是因为您使用的Android版本在其他路径上安装了外部存储,或者您没有连接到虚拟设备的模拟SD卡

您可以通过检查

的输出来调查其中任何一个问题
adb shell mount

如果您的AVD上根本没有SD卡,请按照模拟器文档说明创建和附加SD卡。

仅出于测试目的,可能存在除了可以编写的SD卡之外的其他路径,尤其是在adb shell以root身份运行的模拟器上,例如在某些版本/data/local上或类似的。

答案 1 :(得分:0)

你可以试试这个adb shell然后#logcat>/sdcard/log.txt现在我确定结果。你只需要为adb shell打开一个命令提示窗口,我猜这不是很糟糕。