学习android wifi子系统总结.doc
Android Wi-Fi 子系统总结 Android Wi-Fi 子系统是一个复杂的系统,它涉及到多个组件和模块,包括 Wi-Fi 服务、Wi-Fi 设置、 Wi-Fi 监控、Wi-Fi 本地化和 Wi-Fi 硬件抽象层(HAL)。在本文中,我们将对 Android Wi-Fi 子系统进行总结,介绍其架构、组件、流程和关键技术。 一、 Wi-Fi 流程简介 Android Wi-Fi 子系统的流程可以分为六个步骤:初始化、连接 AP、查找 AP、配置 AP、分配 IP 和 setting 与 Wi-Fi 服务交互。 1. 初始化:SystemServer 通过构造函数启动 ConnectivityService,然后启动 Wi-Fi 服务,接着启动 Wi-Fi 监控。 2. 连接 AP:Wi-Fi 设置通过 AIDL 调用 Wi-Fi 服务的处理函数, Wi-Fi 服务启动 Wi-Fi 监控,并发送命令到 WPS。 3. 查找 AP:Wi-Fi 服务启动扫描,WPS 处理 SCAN 命令,并返回扫描后的结果。 4. 配置 AP:Wi-Fi 服务查询是否已经配置过,若没有,则添加网络配置,否则启用网络。 5. 分配 IP:WPS 返回连接上的事件,Wi-Fi 监控监听到该事件,并调用 Wi-Fi 状态跟踪器的 notifyStateChange 方法,发送 EVENT_DHCP_START 广播启动 DHCP。 6. setting 与 Wi-Fi 服务交互:Setting 通过 AIDL 调用 Wi-Fi 服务的处理函数,监听 Wi-Fi 服务的广播,向用户呈现出 AP 热点的各种信息。 二、 WPS 流程简介 WPS(Wi-Fi Protected Setup)是 Android Wi-Fi 子系统中的一部分,提供了统一的安全机制。WPS 由三个模块组成:向上(socket)、向下(netlink)和密码认证模块。WPS 采用 eloop 机制,处理交互,并通过 wpa_cli 操作接口与 Wi-Fi 硬件抽象层(HAL)进行交换。 三、 Wi-Fi 框架代码方向 Wi-Fi 框架代码方向从 Wi-Fi 设置界面开始,通过 Setting 调用 Wi-Fi 设置,然后调用 Wi-Fi 服务,接着调用 Wi-Fi 状态跟踪器、Wi-Fi 监控和 Wi-Fi 本地化。 Wi-Fi 本地化调用 Wi-Fi 硬件抽象层(HAL),并与 WPS 进行交换。 四、 Wi-Fi 状态机 Wi-Fi 状态机是 Android Wi-Fi 子系统中的一部分,负责管理 Wi-Fi 的状态。Wi-Fi 状态机继承自 StateMachine 类,具有多个状态,包括默认状态、初始状态、驱动卸载状态、驱动加载状态、驱动启动状态和驱动失败状态。Wi-Fi 状态机通过 Intent 机制与 Wi-Fi 服务进行交互,并监听 Wi-Fi 服务的广播。 五、 Wi-Fi 硬件抽象层(HAL) Wi-Fi 硬件抽象层(HAL)是 Android Wi-Fi 子系统中的一部分,提供了与 Wi-Fi 硬件的交互接口。Wi-Fi 硬件抽象层(HAL)通过 wpa_cli 操作接口与 WPS 进行交换,并提供了多个功能,包括 Wi-Fi 的启用、禁用、扫描和连接等。 Android Wi-Fi 子系统是一个复杂的系统,涉及到多个组件和模块。了解 Android Wi-Fi 子系统的架构、组件、流程和关键技术对于开发 Android 应用程序非常重要。
- 粉丝: 35
- 资源: 65
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助