【问题标题】:Android log file has missing linesAndroid 日志文件缺少行
【发布时间】:2016-07-07 11:00:40
【问题描述】:

我为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 studio 检查实时日志...)有什么想法吗?

【问题讨论】:

  • logcat 缓冲区是循环的。您可以增加大小或仅在运行期间捕获实时日志,而不是之后转储缓冲区
  • 我如何执行您提到的每一项操作?

标签: android logging adb android-log


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多