網路堆疊是可更新的 Mainline 模組,可確保 Android 可以 適應不斷演進的網路標準,且能與新的 。例如,更新網頁認證入口偵測和登入代碼 讓 Android 即時掌握不斷變更的網頁認證入口模型,以及 更新 APF 後,Android 可將 Wi-Fi 能源節省下來,成為新型封包的一種 變得常見
包含的元件
網路堆疊模組包含下列元件。在使用此模組的裝置上,這些服務會移至其他程序,並透過穩定的 AIDL 介面存取。
IP 服務。
IpClient
(舊稱IpManager
) 是負責 IP 層佈建和維護的元件。在 Android 9 中,藍牙等元件已跨程序使用此功能,而 Wi-Fi 等元件則在程序中使用。DhcpClient
會從 DHCP 伺服器取得 IP 位址,以便 均指派給介面NetworkMonitor。
NetworkMonitor
元件會在連線至新網路或網路發生錯誤時,以及在偵測網頁認證入口和驗證網路時,測試網路可及性。網頁認證入口登入應用程式。負責管理登入行為的預先安裝應用程式 請前往網頁認證入口這個應用程式自 Android 5.0 版起已成為獨立的應用程式 會與
NetworkMonitor
互動,將部分使用者選項轉送至系統。
受影響的路徑
以下列出經過重構後移至 Network Stack 模組的路徑。
IP 服務。在
frameworks/base/services/net/java/android/net/
中:apf
dhcp
ip
netlink
util
(部分)
網頁認證入口偵測和登入在
frameworks/base/
中:core/java/android/net/captiveportal/
services/core/java/com/android/server/connectivity/NetworkMonitor.java
packages/CaptivePortalLogin/*
已移動程式碼的新位置位於 packages/modules/NetworkStack
、packages/modules/CaptivePortalLogin
和其他共用位置。以上
做為 Mainline 的移動檔案位置,路徑是指檔案的位置。
「packages/modules/NetworkStack
」和
packages/modules/CaptivePortalLogin
是 Mainline 模組的一部分,無法
可能會遭到修改
套件格式
網路堆疊模組包含以下 APK 格式的元件:
- IP 服務
- 網頁認證入口登入 (
com.google.android.captiveportallogin
)
本單元隨附網路堆疊權限設定模組 這是預先安裝的 APK 檔案,定義了 網路堆疊元件
依附元件
網路堆疊模組會依附下列項目:
系統伺服器中的特殊權限 @hide 方法 (例如:
IConnectivityManager.aidl
)。這些 API 已設為@SystemApi
確保其可供 Mainline 模組存取 而非其他具有特殊權限的應用程式 (例如使用新的簽章權限)。將 Binder IPC 連結至
INetd.aidl
中定義的netd
。此介面已轉換為穩定的 AIDL,並須接受相容性測試。