Android网络接入框架分析
文章平均质量分 83
第一序列丶
脱离了高级趣味的码农,Log分析员,工具人,打工人,Bug制造者,接锅侠
展开
-
Android - 集成三方模组原厂WiFi Hal库问题
最近Android 11产品平台上需要集成三方WiFi/AP模组厂商提供的hal静态库时遇到一个问题:将三方的库代码集成进系统,并正确配置、编译出lib_driver_cmd_xxx.a(xxx一般是厂商的名字缩写,仅仅是个后缀用于区分不同厂家),根据Android的现有集成架构,这个lib_driver_cmd_xxx.a会被wpa_supplicant/hostapd等工具引用。用来指定CFI特性所需要的头文件的路径,以便编译器能够正确地识别和使用CFI相关的库和函数。对于 Arm64 设备上位于。原创 2023-07-22 09:56:19 · 1280 阅读 · 0 评论 -
Android R WiFi热点流程浅析
Android上的WiFi SoftAp功能是用户常用的功能之一,它能让我们分享手机的网络给其他设备使用。 那Android系统是如何实现SoftAp的呢,这里在FWK层面做一个简要的流程分析,供自己记录和大家参考。 以Android R版本为例......原创 2023-02-18 15:24:12 · 3089 阅读 · 1 评论 -
Android -- WiFi的NUD检测机制浅析
Android -- WiFi的NUD()Neighbor Unreachable Detection,邻居不可达检测检测机制浅析原创 2021-12-13 09:45:00 · 3245 阅读 · 1 评论 -
Android -- Wifi热点的打开与关闭流程简介
Android -- Wifi热点的打开与关闭流程简介一、SoftAp打开流程当我们在设置中打开热点时,会调用WifiManager::setWifiApEnabled(),参数enabled为true;间接调用同名的WifiServiceImpl::setWifiApEnabled():/** * Start AccessPoint mode with the spec原创 2016-09-03 16:56:39 · 8123 阅读 · 16 评论 -
Android -- 无线网络配置信息的管理者WifiConfigStore简介
Android -- WifiConfigStore简介原创 2016-09-03 11:14:15 · 9380 阅读 · 6 评论 -
Android -- Wifi的save()操作
Android -- Wifi的save()操作当我们在Settings中设置静态IP连接时,会调用到WifiManager::save()函数: /** * Save the given network in the supplicant config. If the network already * exists, the configuration is原创 2016-08-13 13:53:54 · 4121 阅读 · 4 评论 -
Android -- Wifi的断开及关闭流程简介
Android -- Wifi的断开及关闭流程简介当我们连接上一个AP时,Wifi的断开及关闭都会导致设备与AP之间的连接中断;关闭Wifi同时会导致Wifi断开。下面就简单介绍Wifi断开及关闭的流程。一、Wifi的断开我们断开Wifi,调用WifiManager::disconnect()方法,嵌套调用WifiServiceImpl的同名方法: /** *原创 2016-07-20 21:27:23 · 14417 阅读 · 0 评论 -
Android -- ConnectifyService网络更新流程简介
Android -- ConnectifyService网络更新流程简介之前的几篇文章讲述了Wifi启动、扫描、连接等流程,也简单介绍了网络模块与ConnectifyService之间通信、更新网络的基本实现。现在,就进一步简单介绍下网络更新的具体实现,这里以Ethernet通知CS更新 LinkProperties为例。EthernetNetworkFactory中通过updat原创 2016-07-19 21:08:46 · 4046 阅读 · 0 评论 -
Android -- Wifi连接流程分析
Android -- Wifi连接流程分析当我们在Android手机上连接一个AP时,间接调用WifiManager的connect()方法:/** * Connect to a network with the given configuration. The network also * gets added to the supplicant configur原创 2016-07-16 09:41:58 · 15804 阅读 · 9 评论 -
Android -- 网络模块中NetworkFactory与NetworkAgent的通信机制
Android -- NetworkFactory与NetworkAgent的通信机制在上一篇博文中讲到,EthernetNetworkFactory包揽了Ethernet所有的网络管理操作,这其中就包含怎么样通知ConnectifyService网络状态发生变化。接下来,我们简要介绍下这一部分内容。在启动Ethernet网络服务时,我们会对Ethernet做一些初始化操作,以方便原创 2016-06-11 19:26:08 · 7044 阅读 · 1 评论 -
Android -- Wifi启动流程分析
Android -- Wifi启动流程分析Android网络各个模式中,Wifi应该是目前最常用的一种网络方式了;下面就简单介绍下Android中Wifi的启动流程。当我在Setting菜单里点击打开Wifi时,调用的入口函数是WifiManager::setWifiEnabled(boolean enabled): /** * Enable or disable Wi-F原创 2016-05-30 21:01:55 · 13483 阅读 · 10 评论 -
Android -- WifiMonitor分析
Android -- WifiMonitor在Android的Wifi体系中,WifiMonitor承担着分发来自wpa_supplicant底层事件的任务。当上层下达Wifi的扫描、连接等指令后, 底层驱动以及wpa_s进行实际的扫描、连接操作,操作完成后会向上层反馈一个event,通知framework扫描是否结束、连接是否成功。WifiStateMachine在处理CMD_START_S原创 2016-05-29 19:55:44 · 5158 阅读 · 6 评论 -
Android 异步通道 -- AsyncChannel
Android -- AsyncChannel在学习Android Wifi部分的源码时,发现WiFiManager和WiFiService之间使用了AsyncChannel来进行通信,AsyncChannel用于两个Handler之间的通信,这里简单介绍下AsyncChannel的实现机制,文章中如有错误的地方,请批评指出,小弟感激不尽。首先介绍下AsyncChannel:Async原创 2016-05-28 09:25:04 · 2288 阅读 · 3 评论 -
Android -- StateMachine解析
Android -- StateMachine原创 2016-05-28 20:44:17 · 4377 阅读 · 6 评论 -
Android -- Wifi扫描流程分析
Android -- Wifi扫描流程分析Wifi扫描的调用函数是WifiManager中的startScan()函数:/** * Request a scan for access points. Returns immediately. The availability * of the results is made known later by means of a原创 2016-07-16 09:15:57 · 4289 阅读 · 5 评论 -
Android -- Wifi的forget()操作
Android -- Wifi的forget()操作我们在处理某个Wifi连接时,有时会需要忘掉当前连接的密码信息。执行这项操作,我们需要调用WifiManager::forget()函数: /** * Delete the network in the supplicant config. * * This function is used ins原创 2016-08-13 12:53:42 · 6509 阅读 · 3 评论 -
Android -- 网络相关的系统服务启动简要分析
Android -- 网络相关的系统服务启动简要分析Android中众多的系统服务都是在SystemServer中启动的,一般有两种方式:SystemServiceManager.startServcie()ServiceManageraddService()前一种方式也是通过后者将一个服务添加到Android的服务体系中的。我们知道,Android的服务原创 2016-06-11 16:04:31 · 2219 阅读 · 3 评论