2012-06-21 5 views
20

Warum stimmt die Uhr des Android-Emulators nicht mit der Uhr des Host-Systems überein? Es ist kein Zeitzonenunterschied - es ist immer um einige Minuten aus.Die Uhr des Emulators stimmt nicht mit der Uhr des Host-Systems überein.

Gibt es eine Möglichkeit, sie zu synchronisieren, abgesehen von der manuellen Einstellung des Emulators?

+0

FYI, es ist Universalzeit. – Sam

+0

Können Sie die Uhrzeit über die Einstellungen genauso einstellen wie auf einem Gerät? – FoamyGuy

+0

@Sam: Urrrm, wenn ich das OP richtig verstehe, denke ich, er meint die 'Uhr' wie in der Sache, die die aktuelle Uhrzeit auf dem Bildschirm anzeigt. – Squonk

Antwort

8

Ich glaube, es gibt keine Möglichkeit, die Zeit zu synchronisieren. Das Standardbild des Emulators wird auf UTC/GMT (+00: 00) eingestellt. Sie können es jedoch in Ihre eigenen ändern.

Hier ist ein Bild, wie man das macht: Zuerst die "Automatische Zeitzone" (roter Pfeil) abwählen, dann auf die "ausgewählte Zeitzone" (grüner Pfeil) klicken und schließlich Ihre Zeitzone auswählen sollte mit dem auf Ihrem System übereinstimmen (gelber Pfeil). timezone screen shots

+0

Auch wenn die Minuten in seinem Setup ausgeschaltet sind, wie es scheint, sollte es immer noch möglich sein, es auf diese Weise zu beheben, indem automatisches Datum und Uhrzeit entfernt werden und sowohl Stunden als auch Minuten manuell eingestellt werden. Einschließlich der Systemzeit. – FoamyGuy

+0

ja :) Wie du bereits erwähnt hast, wäre es möglich, es zu "synchronisieren", indem du es manuell einstellst. – Raykud

+0

Ich habe in der Frage gesagt, dass dies ** kein ** Zeitzonenproblem ist, dass es um einige Minuten (nicht Stunden) geht. –

6

Wenn es einige Diskrepanzen zwischen den AVD und Host-Zeiten sind, vor allem, nachdem sie von einem Snapshot Neustart können Sie adb shell date verwenden, um zu überprüfen und/oder stellen Sie das Datum, kurz nachdem Sie den Emulator gestartet.

+0

Bitte lesen Sie die bearbeitete und geklärte Frage noch einmal. Vielen Dank! –

+1

'adb shell date' ist eine effektive Möglichkeit, obwohl es das Problem nicht vollständig beheben kann – Ninja

4

Wie ich habe dies als Top-Link in Google bekam :)

Auf Fenster Sie richtigen Zeit durch die Ausgabe erhalten können

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

-s Wert im Format sein sollte: YYYYMMDD.hhmmss

Auf Systemen, die unterschiedliche Zeitformat haben, wird Teil mit Windows Shell Args anders sein!

Sie können in cmd.exe testen:

> echo %date% 
Thu 01/22/2015 

Zur Ausgabe YYYY Teil Gebrauch: %date:[position of char. 0-based],[length]%

Auf Linux:

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

auf Mac-Terminal: funktioniert nur auf Emulator oder gerootetem Gerät. adb-Shell su root "Datum $ (Datum +% m% d% H% S)" – Thupten

0

Unter Windows müssen Sie Zitat setzen Um die Datetime-Zeichenfolge herum, um Fehler zu vermeiden, wenn die Analyse ein Leerzeichen vor einer Ziffer zurückgibt .

Die vollständige Syntax wäre:

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

Der date Befehl in neueren Androiden, da die anderen Antworten verändert hat. Sie müssen root haben, -s wird nicht erkannt und das eingestellte Format hat sich geändert.

Ich hatte Glück mit adb shell su root date -u @$(date +%s.%N), die @ verwendet, um es mit UNIX-Timestamp Sekunden mit Nanosekunden-Genauigkeit einzustellen. -u ist erforderlich, wenn Sie die Zeitzone aus irgendeinem Grund geändert haben, obwohl Zeitstempel keine Zeitzone haben sollten!

Verwandte Themen