2012-06-21 6 views
20

Perché l'orologio dell'emulatore Android non corrisponde all'orologio del sistema host? È non una differenza di fuso orario - è sempre spento da alcuni minuti.L'orologio dell'emulatore non corrisponde all'orologio del sistema host

C'è un modo per sincronizzarli oltre all'impostazione manuale dell'ora dell'emulatore?

+0

FYI, è l'ora universale. – Sam

+0

È possibile impostare l'ora tramite le impostazioni nello stesso modo in cui è possibile su un dispositivo? – FoamyGuy

+0

@Sam: Urrrm, se capisco correttamente l'OP, penso che significhi "Orologio" come nella cosa che mostra l'ora corrente sullo schermo. – Squonk

risposta

8

Credo non ci sia modo di sincronizzare l'ora. L'immagine predefinita dell'emulatore è impostata su UTC/GMT (+00: 00). Tuttavia puoi cambiarlo per conto tuo.

Ecco un'immagine su come farlo: prima deselezionare la "Automatic Time Zone" (freccia rossa) poi clicca sul "fuso orario selezionato" (freccia verde) e, infine, selezionare il fuso orario e dovrebbe corrispondere a quello sul tuo sistema (freccia gialla). timezone screen shots

+0

anche se i minuti sono spenti sul suo setup come sembra indicare, dovrebbe comunque essere possibile risolverlo in questo modo togliendo data e ora automatiche e impostando manualmente sia le ore che i minuti in base alle proprie esigenze. Compreso qualunque sia il tempo del sistema. – FoamyGuy

+0

sì :) come hai detto sarebbe possibile "sincronizzarlo" impostandolo manualmente. – Raykud

+0

Ho affermato nella domanda che questo è ** non ** un problema di fuso orario, che è spento di alcuni minuti (non ore). –

6

Se ci sono alcune discrepanze tra i tempi di AVD e di accoglienza, soprattutto dopo il riavvio da uno snapshot è possibile utilizzare adb shell date per controllare e/o impostare la data subito dopo aver avviato l'emulatore.

+0

Rileggi la domanda modificata e chiarita. Grazie! –

+1

'adb shell date' è un modo efficace anche se non può risolvere completamente il problema – Ninja

4

Come ho ottenuto questo come collegamenti superiore in google :)

Su finestre è possibile ottenere momento giusto con l'emissione di

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

-s valore deve essere in formato: YYYYMMDD.hhmmss

Sui sistemi che hanno il formato di orario diverso, la parte con windows shell args sarà diversa!

È possibile verificare in cmd.exe:

> echo %date% 
Thu 01/22/2015 

Per l'uscita AAAA uso parte: %date:[position of char. 0-based],[length]%

Su linux:

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

su mac terminal: funziona solo su emulatore o dispositivo rooted. adb shell su root "data $ (data +% m% d% H% S)" – Thupten

0

Su Windows, è necessario mettere preventivo attorno alla stringa datetime per evitare errori quando l'analisi restituisce uno spazio davanti a una cifra .

La sintassi completa sarebbe:

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

Il comando date è cambiato in androidi più recenti in quanto le altre risposte. È necessario disporre di root, -s non è riconosciuto e il formato impostato è stato modificato.

Ho avuto fortuna usando adb shell su root date -u @$(date +%s.%N), che utilizza @ per impostarlo utilizzando UNIX timestamp secondi con precisione di nanosecondi. -u è necessario se hai cambiato il fuso orario per qualche motivo, anche se i timestamp non dovrebbero avere un fuso orario!

Problemi correlati