Android 提供預設的 Android 架構實作,支援各種 Wi-Fi 通訊協定和模式,包括:
- Wi-Fi 基礎架構 (STA)
- 在連線或僅限本機模式下使用 Wi-Fi 無線基地台 (軟體 AP)
- Wi-Fi Direct (p2p)
- Wi-Fi Aware (NAN)
- Wi-Fi RTT (IEEE 802.11mc FTM)
使用 Wi-Fi 服務的應用程式會透過 Binder 直接與各種 Wi-Fi 服務通訊。Wi-Fi 服務會在系統服務中執行,並透過提供的 HIDL 和 AIDL 介面與 HAL 通訊。這張圖表顯示 Android Wi-Fi 堆疊的一般結構。
圖 1. Android Wi-Fi 架構
應用程式架構
應用程式架構層級是應用程式程式碼,會使用各種 android.net.wifi API 與 Wi-Fi 架構和硬體互動。在內部,這個程式碼會透過 Binder IPC 機制呼叫 Wi-Fi 程序。
Wi-Fi 服務
Wi-Fi 服務會在系統服務中執行,並位於 packages/modules/Wifi/service/
中。Wi-Fi 服務會透過 AIDL 與 Wi-Fi HAL 通訊。
有各種 Wi-Fi 服務:
- Wi-Fi 服務:控制 Wi-Fi 基礎架構模式 (STA 和 AP) 的主要機制。
- Wi-Fi P2P 服務:管理 Wi-Fi Direct 模式。
- Wi-Fi Aware 服務:管理 Wi-Fi Aware 模式。
- Wi-Fi RTT 服務:管理 IEEE 802.11mc FTM 功能。
Wi-Fi 架構也包含獨立程序 wificond,位於 system/connectivity/wificond
。wificond 程序會透過標準 nl80211
指令與 Wi-Fi 驅動程式通訊。
Wi-Fi HAL
Wi-Fi 架構有三個 Wi-Fi HAL 途徑,分別由三個不同的介面代表:供應商 HAL、申請者 HAL 和 Hostapd HAL。
如要進一步瞭解各種 HAL 的實作方式,請參閱「Wi-Fi HAL」。