android - que - ¿Cómo medir el tiempo desde el shell adb con una resolución de milisegundos?
android sdk (3)
Resolvió mi problema usando botbrew. Probablemente no sea idea, pero al menos funciona por ahora. /data/botbrew-basil/init -- date +%s.%N
- devuelve una resolución de nanosegundos.
¿Cómo puedo medir el tiempo desde adb shell con milisegundos o una resolución de nanosegundos?
Usar date +%.%N
desde adb shell devuelve 1401546811.N
(resolución de segundos) en lugar de algo como 1401547289.231869798
(resolución de nanosegundos).
¿Cómo puedo obtener una resolución de milisegundos o nanosegundos desde adb shell?
¿Hay algún programa de terminal que pueda usar para darme esto? Puedo medir el tiempo usando System.currentTimeMillis()
y System.nanoTime()
desde el código de la aplicación Android en sí, pero también necesito algo desde adb shell
.
adb shell echo $EPOCHREALTIME
te da el tiempo con micro segundos, (no lo escribas con ''/' antes del nombre de la variable)
mksh
(el shell estándar de Android desde la versión 4.0) tiene una variable de entorno EPOCHREALTIME
:
Tiempo desde la época, según lo devuelto por
gettimeofday(2)
, formateado como decimal tv_sec seguido de un punto.
y tv_usec acolchado a exactamente seis dígitos decimales.
Entonces, el comando para obtener un tiempo de epoch
con precisión de microsegundo en Windows sería:
adb shell echo $EPOCHREALTIME
o en Linux:
adb shell ''echo $EPOCHREALTIME''
Si solo necesitas una precisión de milisegundos:
adb shell ''echo ${EPOCHREALTIME:0:14}''
O solo parte de milisegundos para usar con otro formato de hora:
adb shell ''echo $(date +%T)${EPOCHREALTIME:10:4}''