Android 10 enthält die folgenden Netzwerkmodule:
- Das Modul Networking Components bietet allgemeine IP-Dienste, Überwachung der Netzwerkkonnektivität und Captive-Login-Portal-Erkennung.
- Das Network Stack Permission Config-Modul definiert eine Berechtigung, die es Modulen ermöglicht, netzwerkbezogene Aufgaben auszuführen.
Modul Netzwerkkomponenten
Das Netzwerkkomponentenmodul stellt sicher, dass sich Android an sich entwickelnde Netzwerkstandards anpassen kann, und ermöglicht die Interoperabilität mit neuen Implementierungen. Beispielsweise ermöglichen Updates der Captive-Portal-Erkennung und des Anmeldecodes Android, mit sich ändernden Captive-Portal-Modellen auf dem Laufenden zu bleiben, und Updates der Advanced Policy Firewall (APF) ermöglichen es Android, Strom im WLAN zu sparen, wenn neue Pakettypen üblich werden.
Änderungen in Android 10
Das Modul Netzwerkkomponenten enthält die folgenden Komponenten.
- IP-Dienste. Die Komponente IpClient (ehemals IpManager) übernimmt die Bereitstellung und Wartung der IP-Schicht. In Android 9 wurde es prozessübergreifend von Komponenten wie Bluetooth und prozessintern von Komponenten wie Wi-Fi verwendet. Die DhcpClient-Komponente erhält IP-Adressen von DHCP-Servern, damit sie Schnittstellen zugewiesen werden können.
- NetzwerkMonitor. Die NetworkMonitor-Komponente testet die Interneterreichbarkeit beim Verbinden mit einem neuen Netzwerk oder bei Netzwerkausfällen, beim Erkennen von Captive Portals und beim Validieren von Netzwerken.
- Anmelde-App für das Captive-Portal. Die Anmelde-App für das Captive-Portal ist eine vorinstallierte App, die für die Verwaltung der Anmeldung bei Captive-Portalen zuständig ist. Dies ist seit Android 5.0 eine separate App, die jedoch mit NetworkMonitor interagiert, um einige Benutzerauswahlen an das System weiterzuleiten.
Auf Geräten, die das Netzwerkkomponentenmodul verwenden, werden die oben genannten Dienste in einen anderen Prozess umgestaltet und der Zugriff erfolgt über stabile AIDL-Schnittstellen . Die Umgestaltungspfade sind in den folgenden Tabellen dargestellt.
IP Services-Refaktorierungspfade
Android 9 und niedriger | In frameworks/base/services/net/java/android/net/ :
|
---|---|
Android 10 und höher | packages/modules/NetworkStack |
Umgestaltungspfade für die Captive Portal-Anmeldung
Android 9 und niedriger | In frameworks/base/ :
|
---|---|
Android 10 und höher | packages/modules/CaptivePortalLogin (und einige andere gemeinsam genutzte Speicherorte) |
Format und Abhängigkeiten
Das Networking Components-Modul wird in Form von drei APKs bereitgestellt: eines für IP-Dienste, eines für die Captive-Portal-Anmeldung und eines für Network Stack Permission Config .
Das Modul Netzwerkkomponenten hängt von Folgendem ab:
- Privilegierte
@hide
Methoden im Systemserver (z. B. inIConnectivityManager.aidl
). Diese APIs wurden mit@SystemApi
kommentiert und entsprechend geschützt, sodass sie für das Modul zugänglich sind, aber nicht für andere privilegierte Apps (z. B. mit einer neuen Signaturberechtigung). - Binden Sie IPCs an
netd
, das inINetd.aidl
definiert ist. Diese Schnittstelle wurde auf stabiles AIDL konvertiert und wird Konformitätstests unterzogen.
Network Stack Permission Config-Modul
Das Modul „Network Stack Permission Config“ enthält keinen Code, sondern definiert stattdessen eine Berechtigung, die für die Verwendung durch die Module „Network Stack“ und „Captive Portal Login“ vorgesehen ist. Das System erlaubt Modulen, denen diese Berechtigung erteilt wurde, zugehörige Netzwerkkonfigurationsaufgaben auf dem Gerät auszuführen.