一、WIFI的基本架构
1、wifi用户空间的程序和库:
external/wpa_supplicant/
生成库libwpaclient.so和守护进程wpa_supplicant。
2、hardware/libhardware_legary/wifi/是wifi管理库。
3、JNI部分:
frameworks/base/core/jni/android_net_wifi_Wifi.cpp
或者:
frameworks/opt/net/wifi/service/jni/com_android_server_wifi_WifiNative.cpp
4、JAVA部分:
frameworks/base/services/java/com/Android/server/
frameworks/base/wifi/java/android/net/wifi/
或者:/frameworks/opt/net/wifi/service/java/com/android/server/wifi/
二、WIFI在Android中如何工作
Android使用一个修改版wpa_supplicant作为daemon来控制WIFI,wpa_supplicant为守护进程
代码位于external/wpa_supplicant。
1、wpa_supplicant是通过socket与hardware/libhardware_legacy/wifi/wifi.c通信。
2、UI通过android.net.wifi package(frameworks/base/wifi/java/android/net/wifi/)发送命令给wifi.c。
3、相应的JNI实现位于frameworks/base/core/jni/android_net_wifi_Wifi.cpp。
4、更高一级的网络管理位于frameworks/base/core/java/android/net。
三、配置Android支持WIFI
在BoardConfig.mk中添加:
BOARD_HAVE_WIFI := true
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
WPA_SUPPLICANT_VERSION := VER_0_8_X //wpa_supplicant的版本
WIFI_DRIVER := ar6003/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)