8

如何以毫秒或纳秒的分辨率测量 adb shell 的时间?

使用date +%.%Nfrom adb shell 返回1401546811.N(秒分辨率)而不是1401547289.231869798(纳秒分辨率)。

如何从 adb shell 获得毫秒或纳秒的分辨率?

是否有一些终端程序可以用来给我这个?我能够使用System.currentTimeMillis()System.nanoTime()从 Android 应用程序代码本身来测量时间,但我还需要来自内部的东西adb shell

4

3 回答 3

17

mksh(自 4.0 版以来的标准 Android shell)具有内置EPOCHREALTIME环境变量:

自 epoch 返回的时间gettimeofday(2),格式为十进制tv_sec ,后跟一个点.tv_usec填充到六位十进制数字。

因此,在 Windows 中以微秒精度获取epoch时间的命令将是:

adb shell echo $EPOCHREALTIME

或在 Linux 中:

adb shell 'echo $EPOCHREALTIME'

如果您只需要毫秒精度:

adb shell 'echo ${EPOCHREALTIME:0:14}'

或者只是与其他时间格式一起使用的毫秒部分:

adb shell 'echo $(date +%T)${EPOCHREALTIME:10:4}'
于 2014-06-05T21:25:00.263 回答
0

Kind of solved my problem by using botbrew. Probably not idea, but at least it works for now. /data/botbrew-basil/init -- date +%s.%N -- returns nanosecond resolution.

于 2014-06-01T17:55:11.290 回答
0

adb shell echo $EPOCHREALTIME给你微秒的时间,(不要在变量名前用'\'写)

于 2016-03-22T16:43:28.223 回答