2011-03-14 2 views
14

Для целей отладки, я хотел бы запустить свое приложение на определенную дату. Конечно, я могу изменить дату вручную на своем эмуляторе, но мне было интересно, есть ли простой способ сделать это из оболочки эмулятора (я знаю, что это невозможно сделать из пользовательского интерфейса).Установите дату из оболочки на Android

ответ

0

Это работает на макинтош:

adb shell date $(date -j mmddHHMM +%s) 

где «ММДДччмм» есть месяц, день, час и минуту времени вы хотите установить.

Это вызовет команду «date» в вашем эмуляторе с помощью оболочки adb, а затем передайте ей количество секунд с эпохи, чтобы установить время до (рассчитанное путем вызова «date -j ...» на вашем локальном mac)

Вы также можете быть более конкретным. Формат с man-страницы для даты (на маке) равен [[[mm]dd]HH]MM[[cc]yy][.ss]

17

Прохождение секунд с тех пор, как previous answer не работает на моем экземпляре (WinXP Android SDK11 HVGA_1.6 эмулятор). Однако именно этот формат работал:

adb shell date -s "yyyymmdd.[[[hh]mm]ss]" 

[Отредактировано 6/27/2011: Добавлено временную часть синтаксиса.]

+0

работал на моем mac. –

+0

Временная часть не работает. Он просто устанавливает его в 00:00:00. – prolink007

+0

Чтобы автоматически заполнить время с клиентом adb: './adb shell date -s '\' date +% Y% m% d.% H% M% S \ '' ' –

4

Я работаю с Win 7.

правильный формат, который работал для меня:

ADB дата оболочки -s «YYYYMMDD.hhmmss»

я видел в других потоках, эта команда, что действительно сделал разницу для меня было установить под настройки-> Дата & Время вариантов таким образом. (Unselect автоматической даты и времени и часового пояса)

Date and time in the emulator

Commands from adb

1

В отличие от Linux, есть только два пути вы можете установить дату. date задает время, вызывая драйвер устройства dev/alarm.

  1. дата -s "YYYYMMDD.hhmmss" или
  2. Дейта -u "UTC_TIME_MILLI_SECS"

Надеется, что это помогает.

Ravi Пандит

+0

"date -u \" UTC_TIME_MILLI_SECS \ "" работал для меня на Android 4.1.1, ty , –

1

Это работает для меня под Linux, возможно, потребуется некоторая коррекция на летнее время:

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

следующие работы на Mac OS X, чтобы выровнять точно со временем вашего компьютера, а также он также устанавливает секунды.

для Android 7 эмуляторов, используйте:

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

для Android 4/5/6 эмуляторов используйте это:

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

Примечание 1: -e означает «эмулятор», и он надежно работает, когда у вас есть как эмулятор, так и устройство, подключенное к t он в то же время.

Примечание 2: Первый вариант был найден следующим образом из комментария, сделанного Шивой Kranthi Kumar, 9 июня 2016 года. Попытка использования документации от adb shell date -? практически невозможна. Это плохо написано и слишком сложно понять.

Смежные вопросы