android - 如何以毫秒分辨率测量来自 adb shell 的时间?

标签 android shell adb mksh

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

使用来自 adb shell 的 date +%.%N 返回 1401546811.N(秒分辨率)而不是像 1401547289.231869798(纳秒分辨率) ).

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

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

最佳答案

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

Time since the epoch, as returned by gettimeofday(2), formatted as decimal tv_sec followed by a dot . and tv_usec padded to exactly six decimal digits.

因此,在 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}'

关于android - 如何以毫秒分辨率测量来自 adb shell 的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971337/

相关文章:

python - 解码 Base64 字符串安全吗

android - 可以通过 USB 电缆从 Android Studio 发送 "release"版本吗?

java - 将值从第一个 Activity 传递到第三个 Activity 到 ListView 中覆盖旧值

Android:在 ec2 实例上安装时如何解决模拟器错误?

python - 通过 shell 脚本运行时为 "scrapy: command not found"

android - 如何从 avd 设备中删除离线模拟器?

perl - 如何将命令 "adb push file.txt/sdcard/"的输出写入文本文件?

android - onStop() 是否总是在 onPause() 之前

java - Android 应用程序因 RecyclerView 而崩溃

linux - 最后一个特定字符后的表达式