我希望在运行android app测试之前,从shell命令将Android开发人员工具logcat输出重定向到虚拟设备中的文件。 我通常用于将输出重定向到文件的命令是:
adb shell logcat -v time - f log.txt packageName:F *:E > /folder/log.txt
但它将日志文件放入计算机目录(/folder/ in this case)
。
我想用虚拟设备中的目录更改它,但如上所述,它表示该文件夹不存在。
有办法通过shell命令吗?
答案 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打开一个命令提示窗口,我猜这不是很糟糕。