Эмулированное устройство Android не синхронизирует время/дату после восстановления снимка

Если я делаю новую загрузку на эмулируемом устройстве, оно получает правильное текущее время из ОС хоста; однако если я перезагружаю устройство из моментального снимка, оно получает время/дату с момента создания моментального снимка (например, когда я выключаю эмулятор). Время/дата не синхронизируются по прошествии какого-либо времени. Единственный способ обойти это, который я нашел, - вручную обновлять время после восстановления из моментального снимка.

Виртуальное устройство Android имеет свойства по умолчанию:

  • Target = Android 4.0.3 - API Level 15

  • CPU/ABI = ARM (armeabi-v7a)

  • SD Card = N/A

  • Snapshot = Enabled

  • Abstract LCD density = 240

  • Max VM application heap size = 48

  • Device RAM size = 512

Я пробовал эмулятор на OS X Snow Leopard и Windows 7, оба показывают ту же проблему. Есть ли способ заставить эмулятор автоматически синхронизировать время после восстановления из моментального снимка?

22
задан Peter O. 29 June 2013 в 07:41
поделиться

1 ответ

Проголосовал ответ Артона.

Кажется, что эмулятор теряет синхронизацию, когда хост-машина переходит в спящий режим.

Я лично использую для этого следующую программу.

public class AdbShellDateNow {

    public static void main(final String[] args)
        throws java.io.IOException, InterruptedException {

        final long now = System.currentTimeMillis() / 1000L;
        final ProcessBuilder builder =
            new ProcessBuilder("adb", "shell", "date", Long.toString(now));
        builder.redirectErrorStream(true);
        builder.redirectOutput(ProcessBuilder.Redirect.INHERIT);

        final Process process = builder.start();
        process.waitFor();
    }
}
0
ответ дан 29 November 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: