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:
- Error al analizar la salida de 'versión de adb'
- Adb actualizar un no-mercado apk?
- Uso y propósito de Android.local
- Error de permiso de Android adb
- Cómo utilizar la secuencia de comandos de Perl para la prueba de la aplicación android utilizando eclipse épica?
adb shell date -s YYYYMMDD.HHmmss
Y el tiempo unix como:
adb shell date 1318349236
¿algunas ideas?
- ¿Cómo puedo usar adb para enviar un evento keypress?
- El comando adb devices no muestra nada
- " Emulador no parecía comenzar; renunciando"
- Cómo copiar archivos seleccionados de Android con adb pull
- ¿Cómo resolver el dispositivo ADB no autorizado en Android dispositivo ADB host?
- No se pudo detectar automáticamente un binario ADB - Android Studio
- Depuración de una WebView de Android desde el PC mediante adb
- Genymotion. Cómo extraer la base de datos del dispositivo. Mi / data / data / carpeta parece estar vacía
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
- Cómo importar fuente externa / tipo de letra en ANDROID STUDIO?
- Cómo nombrar mi paquete de Android si no tengo un sitio