Establecer fecha y hora utilizando el shell de ADB

Estoy intentando fijar la fecha / la hora usando el shell del ADB pero la cáscara vuelve solamente la hora actual.

He intentado:

adb shell date -s YYYYMMDD.HHmmss 

Y el tiempo unix como:

 adb shell date 1318349236 

¿algunas ideas?

Para ahorrar espacio de almacenamiento Android como muchos otros sistemas embebidos utiliza binarios de varias llamadas para implementar sus herramientas de línea de comandos básicas como la date .

El dispositivo Android puede incluir toolbox o toybox (o ambos) en función de la versión. Puede comprobar la implementación de la herramienta de date disponible en su dispositivo ejecutando los comandos toybox date toolbox date y toybox date toolbox date . A continuación, puede utilizar el que imprime la fecha actual. Por ejemplo, para un dispositivo con Android 6.0 o más, podría tener el siguiente aspecto:

 $ adb shell toybox date Mon Jul 31 21:09:28 CDT 2017 $ adb shell toolbox date date: no such tool 

Para establecer la fecha y la hora usando la toolbox date use el formato YYYYMMDD.HHmmss :

 adb shell "su 0 toolbox date -s 20161231.235959" 

En caso del uso de la toybox date MMDDhhmm[[CC]YY][.ss] formato:

 adb shell "su 0 toybox date 123123592016.59" 

Android 6.0 tiene un nuevo formato de fecha:

 Default SET format is "MMDDhhmm[[CC]YY][.ss]", that's (2 digits each) month, day, hour (0-23), and minute. Optionally century, year, and second. 

Y el ajuste con -s ya no funciona. Este es el comando actualizado:

Ejemplo del comando actualizado:

(Mientras que dentro de una cáscara del adb)

 date 060910002016.00 

resultará en:

 Thu Jun 9 10:00:00 GMT 2016 

Aviso: El comando no será visible inmediatamente en el dispositivo porque no desencadena ningún cambio de hora, pero será visible dentro de un minuto.

Para evitar esto, puede agregar esta transmisión manualmente de esta manera:

 date 060910002016.00 ; am broadcast -a android.intent.action.TIME_SET 

Para llamar a esto con un comando adb :

 adb shell 'date 060910002016.00 ; am broadcast -a android.intent.action.TIME_SET' 

Lea más sobre el ajuste de tiempo a través de ADB

 adb shell date -s `date +%G%m%d.%H%M%S` 

Al principio consigue la fecha actual de su máquina y la fija en el blanco del androide. Este enfoque debería funcionar en Linux / Mac / Cygwin.

Tienes que poner el valor de fecha si quieres cambiarlo. "-s" cambia el formato SET. El formato SET predeterminado es "MMDDhhmm [[CC] YY] [.ss]".

He probado con éxito los siguientes comandos:

 adb root adb shell "date `date +%m%d%H%M%Y.%S`" 

Para hacer este trabajo en mi Xperia S , tuve que romper los comandos de la siguiente manera:

 > adb shell # su - # date /* see current date */ # date -s YYYYmmdd 

Motive: mi dispositivo había vuelto al principio del tiempo de Linux, y yo no estaba particularmente preocupado con el tiempo, todo lo que quería era establecer la fecha correcta – que, BTW no podía hacer a través de la configuración del sistema porque mi MIUI ROM Siguió chocando

Expandiendo la respuesta de @ uval, puede utilizar lo siguiente para actualizar la fecha y la hora en el dispositivo Android en función de la hora en su máquina Windows:

 set dateYYYY=%date:~10,4% set dateMM=%date:~4,2% set dateDD=%date:~7,2% set timeHH=%time:~0,2% set timeMM=%time:~3,2% set timeSS=%time:~6,2% adb shell su -c date %dateMM%%dateDD%%timeHH%%timeMM%%dateYYYY%.%timeSS% adb shell su -c am broadcast -a android.intent.action.TIME_SET 

Probado en un dispositivo Android 6.0 con raíces y en un PC con Windows 10.

En algunos dispositivos como RTAndroid tal vez funciona también:

 adb shell "su 0 date `date +%m%d%H%M%Y.%S`" 

El formato correcto que ha funcionado para mí es yyyyMMddHHmm.ss

  • Error de ADB y Genymotion: "servidor de adb está desactualizado. Matar ... no puede enlazar 'tcp: 5037' servidor ADB no ACK "
  • Android: ADB Driver para HTC One X
  • ¿Cómo obtengo un archivo apk desde un dispositivo Android?
  • Android 2.3: Sistema de archivos de sólo lectura pegado
  • ¿Dónde puedo encontrar el archivo .apk en mi dispositivo, cuando descarga cualquier aplicación e instalar?
  • Obtener el estado de la pantalla utilizando ADB
  • ADB lanza SecurityException al iniciar el servicio después de la actualización del sistema a Nexus 7: "Caller uid = 2000 no tiene privilegios para comunicarse con user = -2"
  • ¿Hay una manera de iniciar el emulador de Android en Travis CI construir?
  • 'Ningún comando' adb 'encontrado' error en Ubuntu
  • Dispositivo inalámbrico ADB no autorizado
  • Run-as: No se pudo establecer capacidades: Operación no permitida
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.