我为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工作室检查实时日志,例如......)会出现什么想法?
答案 0 :(得分:0)
adb logcat -d [file]
只会转储当前 在内存中的日志 ,而不是自设备启动以来的所有日志。
LogCat存储的日志是循环的,这意味着当日志的分配空间开始耗尽时,LogCat会删除较旧的日志以为较新的日志腾出空间。这意味着你在任何给定的时间内只能在内存中有一定数量的日志行(通常设置为16kb)。
为了能够获取所有日志,您必须使LogCat将日志写入特定文件,而不是仅将其保留在内存中。
您可以使用以下命令执行此操作:
adb logcat -f [file]
。
这将使LogCat写出任何内存中的日志以及将来记录到指定文件的任何日志。
注意:指定的文件必须位于设备上,并且可以从设备中提取。
(adb pull [device file] [destination file]
)