Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用毫秒分辨率从adb外壳测量时间?_Android_Shell_Adb_Mksh - Fatal编程技术网

Android 如何使用毫秒分辨率从adb外壳测量时间?

Android 如何使用毫秒分辨率从adb外壳测量时间?,android,shell,adb,mksh,Android,Shell,Adb,Mksh,如何从adb外壳以毫秒或纳秒的分辨率测量时间 使用adb shell中的Date+%.N返回1401546811.N秒的分辨率,而不是类似1401547289.231869798纳秒的分辨率 如何从adb shell中获得毫秒或纳秒分辨率 有什么终端程序可以给我这个吗? 我可以使用Android应用程序代码本身的System.currentTimeMillis和System.nanoTime来测量时间,但我还需要adb外壳中的一些东西。通过使用botbrew解决了我的问题。也许这不是个好主意,但

如何从adb外壳以毫秒或纳秒的分辨率测量时间

使用adb shell中的Date+%.N返回1401546811.N秒的分辨率,而不是类似1401547289.231869798纳秒的分辨率

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

有什么终端程序可以给我这个吗?
我可以使用Android应用程序代码本身的System.currentTimeMillis和System.nanoTime来测量时间,但我还需要adb外壳中的一些东西。

通过使用botbrew解决了我的问题。也许这不是个好主意,但至少它现在起作用了。 /data/botbrew basil/init-date+%s.%N-返回纳秒分辨率。

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

从纪元开始的时间,由gettimeofday2返回,格式为十进制电视秒,后跟一个点。和tv_usec填充到正好六位小数

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

adb shell echo $EPOCHREALTIME
或者在Linux中:

adb shell 'echo $EPOCHREALTIME'
如果您只需要毫秒精度:

adb shell 'echo ${EPOCHREALTIME:0:14}'
或者只是毫秒部分,用于另一种时间格式:

adb shell 'echo $(date +%T)${EPOCHREALTIME:10:4}'
adb shell echo$EPOCHREALTIME为您提供微秒时间,
不要在变量名前写“\”

只记录要测量的事件,然后解析日志为什么我没有EPOCHREALTIME变量?我需要哪个版本?我使用的是安卓4.0.4。您的命令只回显文本$EPOCHREALTIMENote,如果您在Linux上,单引号非常重要,否则您将得到一个空白。如果不使用它们,Linux机器将尝试扩展$EPOCHREALTIME,它很可能是空的,因此adb shell将忠实地响应您也可以执行adb shell echo\$EPOCHREALTIME,其中变量的转义更加明确