2011-03-14 11 views
14

Para fines de depuración, me gustaría ejecutar mi aplicación en una fecha determinada. Puedo cambiar la fecha manualmente en mi emulador, por supuesto, pero me preguntaba si había una manera simple de hacerlo desde el shell del emulador (sé que no se puede hacer desde la interfaz de usuario).Establecer la fecha de un shell en Android

Respuesta

0

Esto funciona en un Mac:

adb shell date $(date -j mmddHHMM +%s) 

donde "mmddHHMM" es el mes, día, hora y minuto del tiempo que desea establecer.

Esto invocará el comando "date" en su emulador usando adb shell, luego páselo el número de segundos desde epoch para establecer el tiempo (como se calcula llamando a "date -j ..." en su local mac)

También puede ser más específico. El formato de la página de manual para la fecha (en un mac) es [[[mm]dd]HH]MM[[cc]yy][.ss]

17

Pasando segundos-desde-época según previous answer no funcionó en mi instancia (WinXP Android SDK11 HVGA_1.6 emulador). Sin embargo, este formato particular funcionó:

adb shell date -s "yyyymmdd.[[[hh]mm]ss]" 

[Editado 6/27/2011: Se ha añadido la parte de tiempo de la sintaxis.]

+0

trabajado en mi mac. –

+0

Porción de tiempo no está funcionando. Simplemente lo configura a 00:00:00. – prolink007

+0

Para rellenar automáticamente la hora del cliente adb: './adb shell -s" \ 'date +% Y% m% d.% H% M% S \' "' –

4

estoy trabajando con Win 7.

El formato correcto que trabajó para mí es:

fecha adb shell -s "YYYYMMDD.hhmmss"

que vi en otros hilos de este comando, lo que realmente hizo la diferencia para mí era establecer las Preferencias-> Fecha & Mida las opciones de esta manera. (Unselect la fecha automática y la hora y la zona horaria)

Date and time in the emulator

Commands from adb

1

A diferencia de Linux, sólo hay 2 formas de configurar la fecha. El comando de fecha establecerá la hora llamando al controlador del dispositivo 'dev/alarm'.

  1. fecha -s "YYYYMMDD.hhmmss" o
  2. fecha -u "UTC_TIME_MILLI_SECS"

espero que ayude.

Ravi Pandit

+0

"date -u \" UTC_TIME_MILLI_SECS \ "" funcionó para mí en Android 4.1.1, ty . –

1

Esto funciona para mí en Linux, tal vez será necesario realizar algunas correcciones al horario de verano:

adb shell date -s $(date +%Y%m%d.%H%M%S) 
1

las siguientes obras en Mac OS X para alinear exactamente con la hora del equipo, y establece los segundos también.

para Android 7 emuladores, utilice esto:

adb -e shell date $(date +%m%d%H%M%Y.%S) 

para Android 4/5/6 emuladores, utilice esto:

adb -e shell date -s $(date "+%Y%m%d.%H%M%S") 

Nota 1: -e significa "emulador", y funciona de manera confiable cuando tienes un emulador y un dispositivo conectados en t él mismo tiempo.

Nota 2: La primera variación se encontró al seguir el comentario realizado por Siva Kranthi Kumar, el 9 de junio de 2016. Intentar utilizar la documentación de adb shell date -? es prácticamente imposible. Está mal escrito y es demasiado difícil de entender.

Cuestiones relacionadas