日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android环境下通过C框架层控制WIFI【转】

發(fā)布時(shí)間:2025/5/22 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android环境下通过C框架层控制WIFI【转】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文轉(zhuǎn)載自:https://blog.csdn.net/edw200/article/details/52192631

本人是從事Linux嵌入式開發(fā)的,安卓wifi控制在安卓JAVA層已經(jīng)做得非常成熟了,但我需要寫一個(gè)控制wifi的程序,需要寫一堆JAVA,我本是就不懂JAVA,所以決定跳過JAVA框架和應(yīng)用層,直接從C框架層入手。

?

1.Android WIFI框架

?

WIFI的基本架構(gòu) :

1、wifi用戶空間的程序和庫:

??????external/wpa_supplicant/

??????生成庫libwpaclient.so和守護(hù)進(jìn)程wpa_supplicant

2、hardware/libhardware_legary/wifi/是wifi管理庫

3、JNI部分:

??????frameworks/base/core/jni/android_net_wifi_Wifi.cpp

4、JAVA部分:

??????frameworks/base/services/java/com/android/server/

??????frameworks/base/wifi/java/android/net/wifi/

5、WIFI Settings應(yīng)用程序位于:

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

6、WIFI?驅(qū)動(dòng)模塊??wlan.ko

??????wpa_supplicant通過wireless_ext?接口和驅(qū)動(dòng)通信

7、WIFI?硬件模塊

2.Hardware層

2.1.加載卸載驅(qū)動(dòng)

?

加載:insmod /system/lib/modules/bcmdhd.ko ?iface_name=wlan0

卸載:rmmod bcmdhd

?

2.2.啟動(dòng)wpa_supplicant

執(zhí)行setprop ctl.start wpa_supplicant

說明:執(zhí)行上面命令時(shí),安卓系統(tǒng)會(huì)調(diào)用到/init.macallan.rc下語句:

service wpa_supplicant /system/bin/wpa_supplicant \

????-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \

????-I/system/etc/wifi/wpa_supplicant_overlay.conf \

????-O/data/misc/wifi/sockets \

????-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0

????# we will start as root and wpa_supplicant will switch to user wifi

????# after setting up the capabilities required for WEXT

????# user wifi

????# group wifi inet keystore

????class main

????socket wpa_wlan0 dgram 660 wifi wifi

????disabled

? ? oneshot

?

為防止wpa_supplicant已經(jīng)啟動(dòng)導(dǎo)致wifi無法正常工作,這里之后先關(guān)閉一下wpa_supplicant再啟動(dòng)。

?

2.3.關(guān)閉wpa_supplicant

執(zhí)行setprop ctl.stop wpa_supplicant

詳細(xì)查看Wifi.c (\android\hardware\libhardware_legacy\wifi)

?

2.4.搜索AP

執(zhí)行wpa_cli ?-iwlan0 ?IFNAME=wlan0 ?scan?開始搜索

執(zhí)行wpa_cli ?-iwlan0 ?IFNAME=wlan0 ?scan_result?顯示搜索結(jié)果

說明:這句命令和標(biāo)準(zhǔn)的(Linux系統(tǒng))wpa_supplicant有區(qū)別,標(biāo)準(zhǔn)的是執(zhí)行:

wpa_cli ?-iwlan0 ?scan?因?yàn)榘沧肯到y(tǒng)的wpa_supplicant工具是剪裁過的。

搜索結(jié)果如下:

bssid ? ? ? ? ? ? ? ?/ frequency ?/ signal level ??????/ flags ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? / ssid

MAC地址 ???????頻率 ?信號(hào) ?????加密模式 ? ? ? ? ? ? ? ? ? ? ? ?AP名稱 ?

30:fc:68:19:57:70 ?2462 ?-41 ??[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ???aaaa

30:fc:68:72:36:d2 ?2462 ?- 44 ?[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ?TP-LINK_dd

b8:20:e7:00:32:9e ?2437 ?-46 ?[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ??ccc

b8:20:e7:00:0c:ce ?2422 ?-46 ??[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ??dd

e0:05:c5:ac:6d:fc ??2472 ?-49 ??[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ??Tee

14:cf:92:6e:1d:5e ?2437 ??-50 ?[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ???Xdaf

bc:46:99:73:1d:42 ?2412 ?-80 ??[WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ???Testdfege

00:0c:43:30:52:a8 ??????2437 ???-43 ????[WEP][ESS] ?????G5000_JOYKOLN

b8:20:e7:00:0a:62 ??????2437 ???-65 ????[WEP][ESS] ?????G5000_JOYKOLN

28:f0:76:18:c1:16 ??????2462 ???-48 ????[ESS] ??iMacQIU\xe7\x9a\x84iMac

?

2.5.wpa_supplicant.conf配置文件

位于/data/misc/wifi/wpa_supplicant.conf ??

????

沒有啟動(dòng)wifi時(shí)(wpa_supplicant沒有開啟)文件顯示:

ctrl_interface=/data/misc/wifi/sockets

disable_scan_offload=1

update_config=1

device_name=macallan

manufacturer=NVIDIA

model_name=Macallan

model_number=Macallan

serial_number=JKD01V20030000022

device_type=10-0050F204-5

config_methods=physical_display virtual_push_button

p2p_disabled=1

?

開啟wifi時(shí)文件顯示:

ctrl_interface=/data/misc/wifi/sockets

disable_scan_offload=1

update_config=1

device_name=macallan

manufacturer=NVIDIA

model_name=Macallan

model_number=Macallan

serial_number=JKD01V20030000022

device_type=10-0050F204-5

config_methods=physical_display virtual_push_button

p2p_disabled=1

?

network={

????????ssid="JET-1"

????????psk="abcd1234"

????????key_mgmt=WPA-PSK

????????priority=1

}

?

2.6.重啟wpa_supplicant

執(zhí)行wpa_cli ?-iwlan0 ?IFNAME=wlan0 ?reconfigure

說明:當(dāng)初始化啟動(dòng)wpa_supplicant時(shí),因還沒有連接AP信息,必須通過scan_result命令獲取到當(dāng)前搜索的AP,并自定AP寫入配置文件中,再執(zhí)行reconfigure命令重啟wpa_supplicant。

?

2.7.啟動(dòng)DHCP和啟動(dòng)關(guān)閉網(wǎng)絡(luò)

在啟動(dòng)wpa_supplicant之前需要啟動(dòng)一下網(wǎng)絡(luò)

執(zhí)行netcfg wlan0 up

啟動(dòng)DHCP,當(dāng)已經(jīng)連接到AP時(shí),這里需要設(shè)置一下IP,一般情況下是使用動(dòng)態(tài)IP的

執(zhí)行netcfg wlan0 dhcp

關(guān)閉wpa_supplicant后這里需要同時(shí)關(guān)閉網(wǎng)卡網(wǎng)絡(luò)

執(zhí)行netcfg wlan0 down

?

這樣一個(gè)流程就完成了。當(dāng)然這里還需要編寫一個(gè)小程序,以搜索所有的AP信息,并把需要連接的AP信息,并寫入配置文件。

?

這種方法是繞過安卓JAVA框架層和JAVA應(yīng)用層,直接和C框架層通訊的控制WIFI功能例子,這樣可以完全讓用戶可以自己控制wifi功能,與有線網(wǎng)卡運(yùn)用自動(dòng)切換功能。

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 https://blog.csdn.net/edw200/article/details/52192631 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Android环境下通过C框架层控制WIFI【转】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区二区三区四区五区六区 | 欧美一区二区成人 | 日韩理论片在线观看 | 女人的黄色片 | 黄色日比视频 | 天堂av最新网址 | 色小说在线 | 福利一区在线 | 日韩精品一区二区三区在线视频 | 欧美日韩中文国产 | 国产娇小hdxxxx乱 | 九九自拍偷拍 | 免费国偷自产拍精品视频 | xxxxwww一片| 我爱av好色 | www.久色 | 成人伊人 | 国产一区a | 欧美爱爱网址 | 在线污视频 | 亚洲涩涩 | 夜夜操狠狠操 | 搞黄视频在线观看 | 黄色一级视频免费观看 | 黄色录像a | 91操视频 | 91久色视频 | 91视频进入| 国精品一区 | 亚洲精品国产91 | 国产吞精囗交免费视频 | 亚洲小视频 | 欧洲三级视频 | 亚洲欧美国产精品久久久久久久 | 六月丁香综合 | av资源首页| 九一国产精品 | 亚洲一区二区伦理 | 精品丰满人妻无套内射 | 一级黄大片| 超碰福利在线观看 | 1区2区视频 | 狠狠操夜夜 | 风间由美一区二区 | 欧美日韩一区二区在线观看视频 | 99久久精品久久久久久清纯 | 红桃视频国产 | 婷婷激情五月 | 一级免费观看视频 | 淫片在线| 成人欧美在线观看 | 无码人妻一区二区三区免费n鬼沢 | 日日操夜夜操天天操 | 精品无码一区二区三区 | 特级淫片aaaaaaa级 | 欧美三级在线 | 亚洲成人欧美 | 草草视频在线观看 | 小视频免费在线观看 | 亚洲三级视频 | 欧美视频一区二区在线观看 | 亚洲手机在线观看 | 欧美z○zo重口另类黄 | 久久精品视频无码 | 日本三级中文字幕 | 欧美男人的天堂 | 好看的中文字幕电影 | 天堂一区在线 | 青青青在线免费观看 | 天天射日 | 777久久久 | 一卡二卡三卡在线观看 | 五月天综合色 | 波多野结衣在线电影 | 成人h片 | 99热手机在线观看 | 18色av| 日本xxxx18高清hd | av第一福利 | 另一种灿烂生活 | 成人黄色激情网 | 欧美一区二区三区爽爽爽 | 国产亚洲精品久久久久久打不开 | 深夜久久| 女人下面喷水视频 | 麻豆精品视频在线 | 超碰在线成人 | 亚洲欧美日韩在线一区二区 | 中文字幕女优 | www日本www | 国产精品porn | 五月丁香| 国产精品日韩在线观看 | 秘密基地动漫在线观看免费 | 欧美日韩一区二区不卡 | 亚洲第一a| 少妇熟女高潮流白浆 | 木下凛凛子av一区二区三区 | 国产精选在线观看 |