Pourquoi l'horloge de l'émulateur Android ne correspond-elle pas à l'horloge du système hôte? C'est pas une différence de fuseau horaire - c'est toujours éteint de plusieurs minutes.
Existe-t-il un moyen de les synchroniser en plus de régler manuellement l'heure de l'émulateur?
Je crois qu'il n'y a aucun moyen de synchroniser l'heure. L'image par défaut de l'émulateur est définie sur UTC/GMT (+00: 00). Cependant, vous pouvez le changer pour le vôtre.
Voici une image sur la façon de le faire: Commencez par décocher le "Fuseau horaire automatique" (flèche rouge), puis cliquez sur le "Fuseau horaire sélectionné" (flèche verte) et sélectionnez enfin votre fuseau horaire. doit correspondre à celui de votre système (flèche jaune).
En cas de divergences entre les heures AVD et Hôte, vous pouvez utiliser adb Shell date
pour vérifier et/ou définir la date juste après le lancement de l'émulateur, principalement après le redémarrage d'une capture instantanée.
Comme j'ai ce lien en haut dans google :)
Sur windows vous pouvez obtenir le bon moment en émettant
adb Shell date -s %date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%
-s
la valeur doit être au format: YYYYMMDD.hhmmss
Sur les systèmes qui ont un format d’heure différent , une partie avec Windows args Shell sera différent!
Vous pouvez tester dans cmd.exe
:
> echo %date%
Thu 01/22/2015
Pour sortir une partie de YYYY, utilisez: %date:[position of char. 0-based],[length]%
Sur linux :
adb Shell date -s $(date +%Y%m%d.%H%M%S)
La commande date
a changé dans les nouveaux androïdes depuis que les autres réponses ont été fournies. Vous devez avoir la racine, -s
n'est pas reconnu et le format défini a changé.
J'ai eu de la chance avec adb Shell su root date -u @$(date +%s.%N)
, qui utilise @
pour le définir à l'aide de timestamp secondes UNIX avec une précision à la nanoseconde. -u
est requis si vous avez modifié le fuseau horaire pour une raison quelconque, même si les horodatages ne doivent pas avoir de fuseau horaire!
Sous Windows, vous devez insérer des guillemets autour de la chaîne datetime pour éviter les erreurs lorsque l'analyse renvoie un espace devant un chiffre.
La syntaxe complète serait:
adb Shell date -s '%date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%'