自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
概览
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Android 提供默认 Android 框架实现,其中包括对各种 WLAN 协议和模式的支持,这些协议和模式包括:
- WLAN 基础架构 (STA)
- 网络共享模式或仅限本地模式下的 WLAN 热点 (Soft AP)
- WLAN 直连(点对点)
- WLAN 感知 (NAN)
- WLAN RTT (IEEE 802.11mc FTM)
使用 Wi-Fi 服务的应用通过 Binder 直接与各种 Wi-Fi 服务进行通信。Wi-Fi 服务在系统服务中运行,并通过提供的 HIDL 和 AIDL 接口与 HAL 进行通信。下图显示了 Android Wi-Fi 堆栈的常规结构。
图 1. Android WLAN 架构
应用框架
应用代码位于应用框架级别,它使用各种 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 服务有很多种:
- WLAN 服务:用于控制 WLAN 基础架构模式(包括 STA 和 AP)的主要机制。
- WLAN 点对点服务:管理 WLAN 直连模式。
- WLAN 感知服务:管理 WLAN 感知模式。
- 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 surface,分别由三个不同的接口表示:供应商 HAL、客户端 HAL 和 Hostapd HAL。
如需详细了解各种 HAL 的实现,请参阅 Wi-Fi HAL。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[null,null,["最后更新时间 (UTC):2025-03-26。"],[],[],null,["# Overview\n\nAndroid provides a default Android framework implementation that includes\nsupport for various Wi-Fi protocols and modes, including:\n\n- Wi-Fi infrastructure (STA)\n- Wi-Fi hotspot (Soft AP) in either tethered or local-only modes\n- Wi-Fi Direct (p2p)\n- Wi-Fi Aware (NAN)\n- Wi-Fi RTT (IEEE 802.11mc FTM)\n\nAn application using Wi-Fi services directly communicates with the various Wi-Fi\nservices through Binder. The Wi-Fi services run in the System Service and\ncommunicate with the HAL over the provided HIDL and AIDL interfaces.\nThis diagram shows the general structure of the Android Wi-Fi stack.\n\n**Figure 1.** Android Wi-Fi architecture\n\nApplication framework\n---------------------\n\nAt the application framework level is application code, which uses the various\n[android.net.wifi](https://developer.android.com/reference/android/net/wifi/package-summary)\nAPIs to interact with the Wi-Fi framework and hardware. Internally, this code\ncalls the Wi-Fi process through the Binder IPC mechanism.\n\nWi-Fi services\n--------------\n\nThe Wi-Fi services run in the System Service, and are located in\n`packages/modules/Wifi/service/`. The Wi-Fi service communicates with the\nWi-Fi HAL over AIDL.\n\nThere are various Wi-Fi services:\n\n- Wi-Fi Service: Primary mechanism for controlling Wi-Fi infrastructure modes (both STA and AP).\n- Wi-Fi P2P Service: Manages the Wi-Fi Direct mode.\n- Wi-Fi Aware Service: Manages the Wi-Fi Aware mode.\n- Wi-Fi RTT Service: Manages the IEEE 802.11mc FTM functionality.\n\nThe Wi-Fi framework also includes a stand-alone process, **wificond** , located\nat `system/connectivity/wificond`. The **wificond** process communicates with\nthe Wi-Fi driver over standard `nl80211` commands.\n\nWi-Fi HALs\n----------\n\nThe Wi-Fi framework has three Wi-Fi HAL surfaces represented by three different\ninterfaces: Vendor HAL, Supplicant HAL, and Hostapd HAL.\n\nFor details about implementations of the various HALs, see\n[Wi-Fi HAL](/docs/core/connect/wifi-hal)."]]