本篇比较简单,就是学习熟悉Wifi基本框架和Wifi源码路径。

目录

WIFI模块框架图:

Wifi系统源码结构

应用代码

Framework层

HIDL接口

WPA适配层(硬件抽象层 HAL)

wpa_supplicant层

kernel层


WIFI模块框架图:

Wifi系统源码结构

应用代码

源码路径:

  • packages/apps/Settings/src/com/android/settings/wifi/

主要类:

  • WifiSettings.java Wifi设置界面类
  • WifiEnabler.java Wifi开关逻辑类
  • WifiDialog.java Wifi提示框类
  • WifiInfo.java Wifi配置信息类

Framework层

源码路径:

  • frameworks/base/wifi/Java/android/net/wifi/ (wifi外部接口相关类:WifiManager.java、WifiInfo.java)
  • frameworks/opt/net/wifi/service/java/com/android/server/wifi/(wifi服务相关类:WifiServicex.java、WifiNative.java)

主要类:

  • WifiManager.java:Wifi外部接口管理类,应用通过WifiManager来操作Wifi的各项功能。
  • WifiService.java:Wifi功能的总入口,负责Wifi功能的核心业务。处理Wifi加载、扫描、链接、断开等命令,以及Wifi底层上报的事件。
  • WifiServiceImpl.java:WifiService的实现类,将请求交给对应的处理者处理,比如WifiStateMachine。
  • WifiController.java:它维护的是wifi开关状态,wifi热点开关状态。
  • WifiStateMachine.java:一个复杂的状态机,它维护Wifi的启动、扫描、连接、断开等多个状态。
  • WifiStateTracker.java:除了负责WiFi的电源管理模式等功能外,其核心是WifiMonitor所实现的事件轮询机制,以及消息处理函数handleMessage()。
  • WifiMonitor.java:接收来自Wpa_supplicant的事件,并将这些信息进行分类再交予StateMachine处理。
  • WifiNative.java:调用HIDL接口实现WIFI相关功能。

WifiService 和 WifiMonitor 是整个模块的核心。也就是说WifiService负责wifi整个流程的控制,而WifiMonitor负责监视底层的事件。

HIDL接口

源码路径:

  • /hardware/interfaces/wifi

WPA适配层(硬件抽象层 HAL)

源码路径:

  • frameworks/opt/net/wifi/libwifi_hal

wpa_supplicant层

wpa_supplicant是一个开源项目,负责完成认证相关的登录、加密等工作。 该层是Wifi FrameWork层的基石,也叫Wifi服务层。
源码路径:

  • external/wpa_supplicant_8

kernel层

Wifi的内核驱动程序。

Android WiFi 基本框架相关推荐

  1. android wifi p2p框架,7.2.1 P2P架构

    P2P架构中定义了三个组件,笔者将其称之为一个设备,两种角色.这三个组件分别是: * P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备. * P2P Group Ow ...

  2. Android wifi探究一:初步认识wpa_supplicant与wifi框架梳理

    http://blog.csdn.net/u011913612/article/details/52671436 平时和wifi打交道还算比较多吧,wifi出了问题就只能找大神解决,这是件很令人伤感的 ...

  3. Android WIFI框架分析(1)

    趁做Android WIFI驱动移植,对Android WIFI框架做了深刻的分析,并做此文档共同学习. 对上层WIFI的应用,基本流程为:(1)WIFI初始化  (2)Wifi启动      (3) ...

  4. [转载]Android wifi探究一:初步认识wpa_supplicant与wifi框架梳理

    平时和wifi打交道还算比较多吧,wifi出了问题就只能找大神解决,这是件很令人伤感的事情.所以就想自己分析下android源码中wifi的框架,以后wifi出了问题,自己也能尝试的解一解.分析过程必 ...

  5. android wifi 框架图,android wifi框架

    ---恢复内容开始--- frameworks/base/services/java/com/android/server/wifi 中的ReadMe文件 WifiService: Implement ...

  6. Android Wifi移植

    我用的是 Ralink 的网卡,所以 wifi 网卡的名字是 ra0,  在网上看了一些文章,要改很多地方. 不就是个网卡名字问题吗? 我有 驱动源码, 就直接在源码里把名字改成 mlan0 就得了. ...

  7. android wifi 移植记录

    http://blog.csdn.net/pottichu/article/details/5691896 我用的是 Ralink 的网卡,所以 wifi 网卡的名字是 ra0,  在网上看了一些文章 ...

  8. 2018年android常用的框架介绍

    转载地址:http://blog.csdn.net/RuingMan/article/details/73546718 http://www.cnblogs.com/jincheng-yangchao ...

  9. android WIFI学习总结

    转自 http://blog.csdn.net/ldinvicible/article/details/11909411 1        WLAN技术 WLAN是英文WirelessLAN的缩写,就 ...

最新文章

  1. Qt实现主界面圆角化
  2. 1.arm的linux系统搭建
  3. Https 客户端与服务器交互过程梳理(转)
  4. Android SDCard Mount 流程分析(一)
  5. C++ 变量的定义位置
  6. 软件项目管理0717:开发一定要了解客户
  7. (java)短时间批量访问数据库(oracle)小结
  8. SPOJ - SUBLEX 【后缀自动机】
  9. “头脑王者”爆红被封,微信小程序迎来蛮荒期
  10. DZY的根(思维水)
  11. vue前端项目打包并且在服务器上部署过程
  12. 四种Java跨域配置
  13. 二元线性回归最小二乘法公式推导
  14. 【CCF CSP】201903-1小中大
  15. 基于SOA的设备智能维护系统架构设计及实现
  16. 罗永浩又双叒叕diss苹果了
  17. POSCMS 支付设置
  18. modbus模拟设备工具ModRSsim的使用
  19. 怎样查看电脑中的开机启动项?简单方法!如何禁止电脑开机启动的选项?
  20. 5分钟弄懂语音识别技术原理

热门文章

  1. 独立开发变现周刊(第 9 期):创造者领域融资13亿美元,开发者有机会吗?
  2. 让婴儿早一天活动起来
  3. 静态时序分析—时钟偏斜(Clock Skew:Global Skew与Local Skew)
  4. 未来,外卖行业将实现“共享餐盒”?
  5. 零售行业如何开展私域流量运营?试试快鲸scrm
  6. unity 畸变_摄像机成像、畸变模型
  7. stm32毕设分享 人体定位智能调速风扇系统
  8. 卸载JDK出现windows Installer程序包有问题及解决办法
  9. 全国职业院校技能大赛网络建设与运维赛项赛题(三)
  10. css中indent是什么意思,CSS text-indent用法及代码示例