Android日志文件缺少行

时间:2016-07-07 11:00:41

标签: android logging adb android-log

我为Android设备使用一些批处理脚本,它应该清除设备日志,启动和关闭apk然后从中取出日志。 多数民众赞成我使用的代码:

adb -s %DeviceId% logcat -c

adb -s %DeviceId% shell am start -n com.mv4d.sdktutorialbasicchangeframesize/com.mv4d.sdktutorialbasicchangeframesize.MainActivity
SLEEP 80
adb -s %DeviceId% shell am force-stop com.mv4d.sdktutorialbasicchangeframesize

adb -s %DeviceId% logcat -d -v  time >  D:\Roey\Jen2\ChangeFrameSize\Results\Logcat\AndroidLog.txt

创建的日志缺少很多第一行和最后一行。 (如果您启动应用程序并通过Android工作室检查实时日志,例如......)会出现什么想法?

1 个答案:

答案 0 :(得分:0)

adb logcat -d [file]只会转储当前 在内存中的日志 ,而不是自设备启动以来的所有日志。

LogCat存储的日志是循环的,这意味着当日志的分配空间开始耗尽时,LogCat会删除较旧的日志以为较新的日志腾出空间。这意味着你在任何给定的时间内只能在内存中有一定数量的日志行(通常设置为16kb)。

为了能够获取所有日志,您必须使LogCat将日志写入特定文件,而不是仅将其保留在内存中。

您可以使用以下命令执行此操作:
adb logcat -f [file]

这将使LogCat写出任何内存中的日志以及将来记录到指定文件的任何日志。

注意:指定的文件必须位于设备上,并且可以从设备中提取。
adb pull [device file] [destination file]