我需要以 hh:mm:ss:SS 格式获取 Android 设备时间戳。我可以查看 Eclipse 的 Logcat 中显示的时间。是电脑的时间还是安卓设备的时间?
6 回答
在终端中使用adb logcat -v threadtime
从设备获取日志,它将包括日期和时间。
如果要将这些日志重定向到文本文件中,请在终端中使用命令。
adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
如果您在 Android 设备上运行您的应用程序,那么它将打印设备的时间,如果在模拟器上,它将显示计算机的时间。
为确保将日志的时间与设备的时间和计算机的时间相匹配,您会找到答案。
使用long
,threadtime
或time
格式与logcat -v <format>
logcat
有许多格式选项,可以-v
在命令行中传递给标志。您可以在此处查看文档中的所有格式。
以下是每个选项的示例,因此您可以决定哪个选项适合您的需求:
brief
显示发出消息的进程的优先级、标记和 PID。
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
long
显示所有元数据字段并用空行分隔消息。
(我最喜欢这个,但我很喜欢空白。)
[ 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)
process
仅显示 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)
thread
显示发出消息的线程的优先级、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)
time
显示发出消息的进程的日期、调用时间、优先级、标记和 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" )
不知道为什么会这样,但希望这可以节省一些人试图弄清楚这一点的时间。
如果您以编程方式需要设备日期:
SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
String format = s.format(new Date());