2013-03-05 32 views
1

我正在测试2个设备使用套接字进行通信并监视时间戳值的应用程序。我从DDMS的角度选择所需的设备名称。但是一些初始日志丢失了(因为我在代码中有很多Log.d语句)。我想在两个手机中停止应用程序后存储整个日志文件。有人能告诉我如何使用adb在命令行中完成这项工作吗?我无法找到2个设备的任何示例。 感谢使用adb获取2个设备的完整日志

回答

1

您可以用两个控制台试图让logcat的分别为两台设备

使用adb devices

为每台设备的序列号,并保存的logcat为文本文件

控制台1:adb -s <device1serialNO> logcat -d > logcat1.txt

控制台2:adb -s <device2serialNO> logcat -d > logcat2.txt

如果需要

+0

感谢您的回复。但是我无法看到日志中的时间戳字段(来自Logcat)。请让我知道如何过滤日志? – user1741274 2013-03-06 07:41:08

+0

要过滤logcat消息,您可以使用“adb -s logcat -s”TAGNAME“-d> logcat1.txt”。 – UdayaLakmal 2013-03-06 08:01:59

+0

用于带时间戳和过滤器的标记名称为“adb -s logcat -v time -s”TAGNAME“-d> logcat1.txt” – UdayaLakmal 2013-03-06 08:06:13

1

启动您的应用程序,你可以在你的终端启动下面的命令之前,您可以为给定的标签筛选结果:

adb logcat <your_application_log_tag>:V *:S > file.txt 

<your_application_log_tag>是,你在你的应用程序中使用日志标签。 *:S表示您禁止其他组件的所有日志输出。 > file.txt将命令的输出重定向到file.txt

问题的原因在于,对于日志记录,Android在RAM中有一个缓冲区,如果它变满了,它会重写最旧的条目(FIFO)。我提供的命令会将日志存储在您的计算机上。

相关问题