如何用毫秒分辨率来测量adb shell的时间?

我怎样才能从毫秒或纳秒分辨率的ADB壳测量时间?

adbshell使用date +%.%N返回1401546811.N (秒分辨率)而不是类似1401547289.231869798 (纳秒分辨率)。

我怎样才能从ADB壳获得毫秒或纳秒分辨率?

有一些terminal程序可以用来给我吗? 我可以使用来自Android应用程序代码本身的System.currentTimeMillis()System.nanoTime()来测量时间,但是我也需要从adb shell一些东西。

Solutions Collecting From Web of "如何用毫秒分辨率来测量adb shell的时间?"

mksh (从4.0版本开始的标准Android shell )有一个内置的EPOCHREALTIME环境variables:

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}' 

有种使用botbrew解决了我的问题。 可能不是想法,但至less现在工作。 /data/botbrew-basil/init -- date +%s.%N – 返回纳秒分辨率。

adb shell echo $EPOCHREALTIME给你微秒的时间,(不要在variables名前加'\')