Я столкнулся с той же проблемой, и, кажется, нет стандартного способа сделать это. Однако дату и время эмулятора можно обновить с помощью команды date
оболочки ADB, которую можно использовать вместе со стандартными командами для отображения даты и времени в вашей ОС, чтобы обновить дату и время эмулятора до текущей даты и время.
Чтобы установить дату и время эмулятора, вам необходимо выполнить следующую команду в вашей ОС:
adb shell date -s YYYYmmdd.HHMMSS
где ГГГГммдд - дата, а ЧЧММСС - время.
Linux
Установка даты и времени эмулятора на текущую дату и время относительно проста из оболочки в стиле UNIX, поэтому в Linux будет работать следующая команда:
adb shell date -s `date +"%Y%m%d.%H%M%S"`
MacOS
adb -e shell su root date `date +"%m%d%H%M%y"`
Windows
В Windows (которую я использую) самый простой способ сделать это через Windows PowerShell:
adb shell date -s $(get-date -format yyyyMMdd.HHmmss)
В командной строке это немного сложнее, потому что нет способа указать пользовательский формат для отображения даты и времени. Лучший способ найти его в независимом от локали формате - использовать команду wmic os get LocalDateTime
(строка 2). Его формат даты и времени может быть проанализирован для адаптации к формату, необходимому оболочке ADB: символы :~
могут использоваться для печати подстроки содержимого переменной среды в формате %var:~<start-index>,<number-of-chars>%
. Мы также должны игнорировать все, кроме строки 2, поэтому полная команда, которую вам нужно выполнить, выглядит следующим образом:
for /f "skip=1 delims=" %A in ('wmic os get localDateTime') do @for /f "delims=" %B in ("%A") do @cmd /v /c "set wmicdate=%B & adb shell date -s !wmicdate:~0,8!.!wmicdate:~8,6!"
Для любопытных: это сначала сохраняет дату-время в переменную %wmicdate%
, а затем передает ее в ADB, анализируя ее соответствующим образом. !
используются вместо %
до чтения переменной на лету . Все это делается в дочернем cmd
процессе, запущенном с опцией /v
, которая позволяет читать данные на лету.
EDIT : исправлена команда для macOS (спасибо @ user836003).