Не могу установить дату через оболочку

я пробовал

date -u 1407697765

выход:

time 1407697765 -> 1407697765.0
settimeofday failed Bad file number

и

busybox date -s @1407697765

выход:

date: can't set date: Operation not permitted

Я не чувствую, что все делаю правильно (особенно когда date -u), но похоже, что у меня нет разрешения ... Я пытаюсь это сделать через adb shell

Почему я получаю эти ошибки и как установить дату через оболочку?

Ответы (3)

Только rootпользователь может установить дату. Если ваш телефон уже рутирован, просто введите suEnter, чтобы войти в корневую оболочку, а затем команду, которую вы хотите выполнить.

Если ваш телефон еще не рутирован, вам сначала нужно получить root-доступ. См. Как мне получить root права на мое устройство Android?

Я думал, что adb shell по умолчанию использует root ><

У меня сработало следующее (если у вас есть права 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-> Это для отключения автоматической синхронизации времени.

Чтобы сбросить время обратно на синхронизацию с сетью, выполните:

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

Введите следующие команды:

adb shell date -s YYYYMMDD.HHmmss

или

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