我需要以hh:mm:ss:SS的格式获取安卓设备的时间戳。我可以在Eclipse的Logcat中查看显示的时间。这是计算机的时间还是安卓设备的时间?
我需要以hh:mm:ss:SS的格式获取安卓设备的时间戳。我可以在Eclipse的Logcat中查看显示的时间。这是计算机的时间还是安卓设备的时间?
在终端中使用adb logcat -v threadtime
来获取设备的日志,它将包括日期和时间。
如果您想将这些日志重定向到文本文件中,请使用终端中的命令。
adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
logcat -v <format>
命令以long
、threadtime
或time
格式查看日志logcat
提供了多种格式选项,可以通过命令行中的-v
标志传递。您可以在此处的文档中查看所有格式。
以下是每个选项的示例,以便您决定哪个选项最适合您的需求:
brief
显示发出消息的进程的优先级、标记和PID。
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
长整型
显示所有元数据字段并用空行分隔消息。
(我最喜欢这个,但我对空格有点着迷。)
[ 01-27 13:17:07.703 1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
[ 01-27 13:17:07.703 1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
进程
仅显示进程的PID。
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false) (StatusBar.NetworkController)
raw
显示原始日志信息,不包含其他的元数据字段。
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
tag
只显示优先级和标签。
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
线程
一种旧格式,显示发出消息的线程的优先级、PID和TID。
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
threadtime
显示发出消息的线程的日期、调用时间、优先级、标记、PID和TID。
(文档中说这是默认值,但在我的情况下并不是。)
01-27 13:17:07.703 1222 1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 1222 1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
时间
显示消息发出的日期、调用时间、优先级、标签和进程的PID。
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
注意:如果您在应用程序中使用此功能来以编程方式收集用户设备日志并发送给支持团队或其他人,您需要省略-v
和format
之间的空格,如下所示:
commandLine.add( "-vlong" )
我不确定为什么会这样,但希望这能节省某人尝试弄清楚的时间。
如果您正在Android设备上运行应用程序,则会打印设备的时间;如果在模拟器上运行,则会显示计算机的时间。
要确保,请使用日志时间与设备时间和计算机时间进行匹配,您将找到答案。
如果你需要以编程的方式获取设备日期:
SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
String format = s.format(new Date());