Verwendet Android NTP, um die Zeit zu synchronisieren?

Lesezeit: 4 Minuten

Benutzer-Avatar
iTamp

Verwenden Android-Geräte das Network Time Protocol (NTP), um die Uhrzeit zu synchronisieren?

In meinen Geräteeinstellungen sehe ich ein Kontrollkästchen mit dem folgenden Text “Mit Netzwerk synchronisieren”, aber ich weiß nicht, ob sie NTP verwenden.

Ich brauche das für meine Bachelorarbeit, für die ich GPS verwende. Um ein genaues GPS-Signal zu erhalten, sollte der Empfänger eine genaue Uhr haben.

Ich habe diesen Blog-Eintrag im Internet gefunden, bin mir aber nicht sicher, ob er die Wahrheit sagt: Beschleunigung von NTP, GPS Lock in Android

Benutzer-Avatar
Dyonisos

Ich weiß über Android ICS, dass es einen benutzerdefinierten Dienst namens verwendet: NetworkTimeUpdateService. Dieser Dienst implementiert auch eine NTP-Zeitsynchronisation über die NtpTrustedTime Einzelling.

Im NtpTrustedTime Der Standard-NTP-Server wird von der Zeichenfolgenquelle des Android-Systems angefordert:

final Resources res = context.getResources();

final String defaultServer = res.getString(
                                com.android.internal.R.string.config_ntpServer);

Wenn die automatische Zeitsynchronisierung in den Systemeinstellungen aktiviert ist und kein NITZ-Zeitdienst verfügbar ist, wird die Zeit mit dem NTP-Server synchronisiert com.android.internal.R.string.config_ntpServer.

Um den Wert zu erhalten com.android.internal.R.string.config_ntpServer Sie können die folgende Methode verwenden:

    final Resources res = this.getResources();
    final int id = Resources.getSystem().getIdentifier(
                       "config_ntpServer", "string","android");
    final String defaultServer = res.getString(id);

  • Interessanterweise sieht es so aus, als hätten sie es fest programmiert 2.android.pool.ntp.org. Zeile 820: android.googlesource.com/platform/frameworks/base/+/…

    – Jeremy Logan

    15. Januar 2014 um 17:17 Uhr


  • Ja, aber das gilt nur für Stock Android. Einige Hersteller ändern den Server-String.

    – Dyonisos

    15. Januar 2014 um 21:47 Uhr

  • Anmerkungen: 1) Wenn Sie den NTP-Server ändern möchten, schaut Android beim Start nur auf den Wert config_ntpServer, daher müssen Sie neu starten (oder NetworkTimeUpdateService neu starten), um den neuen Wert zu verwenden. 2) Seit 2012 überprüft Android die Uhrzeit nur noch alle 10 Tage nach dem Booten. (Es gibt einen Patch in Gerrit, um das ursprüngliche Timeout von 1 Tag wiederherzustellen.) 3) Ein Trick, um Android dazu zu bringen, die Zeit zu überprüfen, besteht darin, Settings.Global.AUTO_TIME aus- und dann wieder einzuschalten. Dies entspricht dem Kontrollkästchen im Abschnitt „Datum & Uhrzeit“ der Settings.app. 4) Android verwendet kein NTP, es fragt sehr selten mit SNTP ab.

    – Harvey

    30. September 2015 um 17:27 Uhr


  • Wenn Sie also sagen: “1) Wenn Sie den NTP-Server ändern möchten, schaut Android beim Start nur auf den Wert config_ntpServer, also müssen Sie neu starten (oder NetworkTimeUpdateService neu starten), um den neuen Wert zu verwenden”, genau WIE sollte ich kann man den Wert ändern?

    – Tobi

    12. April 2016 um 14:06 Uhr


Ich wollte fragen, ob Android-Geräte das Netzwerkzeitprotokoll (ntp) verwenden, um die Zeit zu synchronisieren.

Für die allgemeine Zeitsynchronisation sind Geräte mit Telefoniefähigkeit, sofern der Mobilfunkanbieter dies bereitstellt NITZ-Informationen, wird NITZ verwenden. Meines Wissens nach wird NTP unter anderen Umständen verwendet: NITZ-freie WLAN-Anbieter, nur WLAN usw.

Ihr zitierter Blogbeitrag legt einen anderen Umstand nahe: On-Demand-Zeitsynchronisierung zur Unterstützung von GPS. Das ist durchaus denkbar, ob es genutzt wird oder nicht, weiß ich allerdings nicht.

Ich habe ein Samsung Galaxy Tab 2 7.0 mit Android 4.1.1. Anscheinend wird es NICHT mit NTP synchronisiert. Ich habe eine App geladen, die besagt, dass mein Tablet 20 Sekunden von NTP entfernt ist, aber es kann es nicht einstellen, es sei denn, ich roote das Gerät.

  • Scheint nur ein manuelles Update zu sein … Mine gewinnt 1,5 Minuten pro 6 Monate.

    – Fiasko-Labore

    9. Juli 2013 um 4:57 Uhr

  • Das Tab 2 wurde mit Android 4.2.2 abgeschlossen und verfügt nicht über das von @Harvey in seinem Kommentar zur akzeptierten Antwort erwähnte Kontrollkästchen. Mine driftet in der Zeit zurück. Wenn ich das nächste Mal nicht scrobbeln kann, muss ich die GPS-Synchronisierung ausprobieren.

    – Mike C

    18. Oktober 2015 um 21:01 Uhr

Keine genaue Antwort auf Ihre Frage, aber ein paar Informationen: Wenn Ihr Gerät tut Verwenden Sie NTP für die Zeit (z. B. wenn es sich um ein Tablet ohne 3G- oder GPS-Funktionen handelt), kann der Server konfiguriert werden /system/etc/gps.conf – Offensichtlich kann diese Datei nur mit Root-Zugriff bearbeitet werden, ist aber auf nicht gerooteten Geräten sichtbar.

Sie können ntp mit einer globalen Variablen überschreiben NTP_SERVERdie Eigenschaft ro.NTP_SERVERoder indem Sie eine Datei mit dem Namen erstellen ntp.conf unter /etc wie erklärt in:
https://developers.google.com/time/guides#linux_ntpd_or_chrony

Die Linux-Anweisungen funktionieren gut mit Android.

Sie können den Datenverkehr von Ihrem Gerät jederzeit über einen Proxy in einen Burp-Paket-Listener umleiten, der auf einem anderen Computer im selben Netzwerk ausgeführt wird, um den gesamten Datenverkehr einfach zu überprüfen. Die SIM in Ihrem Gerät wird unabhängig von den NTP-Einstellungen synchronisiert, und Ihr Router kann standardmäßig auch als NTP-Server für das Netzwerk fungieren.

1227450cookie-checkVerwendet Android NTP, um die Zeit zu synchronisieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy