No se puede establecer la fecha a través de Shell

He intentado

date -u 1407697765

producción:

time 1407697765 -> 1407697765.0
settimeofday failed Bad file number

y

busybox date -s @1407697765

producción:

date: can't set date: Operation not permitted

No siento que esté haciendo todo bien (especialmente cuando date -u) pero parece que no tengo permiso... Lo estoy intentando a través de adb shell

¿Por qué recibo estos errores y cómo establecer la fecha a través de Shell?

Respuestas (3)

Solo el rootusuario puede establecer la fecha. Si su teléfono ya está rooteado, simplemente escriba suEnterpara ingresar a un shell raíz, luego el comando que desea ejecutar.

Si su teléfono aún no está rooteado, primero deberá obtener acceso de root. Consulte ¿Cómo rooteo mi dispositivo Android?

Pensé que adb shell usa root por defecto ><

Lo siguiente funcionó para mí (una vez que tenga permisos de root):

adb shell settings put global auto_time 0 && adb shell date 010219302018.00 set && adb shell am broadcast -a android.intent.action.TIME_SET

auto_time-> Esto es para desactivar la sincronización automática de la hora.

Para restablecer el tiempo de nuevo a la sincronización con la red, haz lo siguiente:

adb shell settings put global auto_time 1 && adb shell am broadcast -a android.intent.action.TIME_SET

Ejecute los siguientes comandos:

adb shell date -s YYYYMMDD.HHmmss

o

$ adb shell 
$ adb root
# su 
# date -s YYYYMMDD.HHmmss