Подтвердить что ты не робот

Эмуляторные часы не соответствуют часам системы хоста

Почему часы эмулятора Android не соответствуют часам системы хоста? Он не разность часовых поясов - он всегда отключается на несколько минут.

Есть ли способ синхронизировать их, кроме того, вручную устанавливая время эмулятора?

4b9b3361

Ответ 1

Я считаю, что синхронизировать время невозможно. По умолчанию образ эмулятора устанавливается в UTC/GMT (+00: 00). Однако вы можете изменить его на свой.

Вот изображение того, как это сделать: Сначала снимите флажок "Автоматический часовой пояс" (красная стрелка), затем щелкните "Выбранный часовой пояс" (зеленая стрелка) и, наконец, выберите свой часовой пояс, и он должен соответствовать таковому в вашей системе (желтая стрелка). timezone screen shots

Ответ 2

Если между временем AVD и хостом возникают некоторые расхождения, в основном после перезапуска из моментального снимка, вы можете использовать adb shell date для проверки и/или установки даты сразу после запуска эмулятора.

Ответ 3

Поскольку у меня это как верхняя ссылка в google:)

В окна вы можете получить нужное время, выпустив

adb shell date -s %date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%

-s Значение должно быть в формате: YYYYMMDD.hhmmss

В системах с разным временным форматом часть с окнами оболочки args будет отличаться!

Вы можете проверить в cmd.exe:

> echo %date%
Thu 01/22/2015

Для вывода части YYYY: %date:[position of char. 0-based],[length]%

В Linux:

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

Ответ 4

В Windows вам нужно поставить цитату вокруг строки datetime, чтобы избежать ошибки, когда синтаксический анализ возвращает пробел перед цифрой.

Полный синтаксис:

adb shell date -s '%date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%'

Ответ 5

Команда date изменилась в новых андроидах, так как другие ответы. У вас должен быть root, -s не распознается и формат формата изменился.

Мне повезло с помощью adb shell su root date -u @$(date +%s.%N), который использует @, чтобы установить его, используя временные метки UNIX с точностью до наносекунды. -u требуется, если по какой-то причине вы изменили часовой пояс, хотя временные метки не должны иметь часовой пояс!