日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产乱子伦一区二区 | 日韩夫妻性生活 | 国产精品高清在线 | 制服.丝袜.亚洲.另类.中文 | 国产精品女人久久久 | 人人射人人插 | 成人福利一区 | 日本一区二区在线 | 中文字幕日本人妻久久久免费 | 特级毛片在线播放 | 日韩中文字幕影院 | 亚洲美女视频在线 | 91精品人妻互换一区二区 | 天天干天天操天天拍 | 51自拍视频 | 欧美视频一区二区三区在线观看 | 中文字幕无码不卡免费视频 | 操人在线观看 | 无码人妻精品一区二区三应用大全 | 亚洲国产一二三区 | 午夜视频在线观看国产 | 亚洲精品尤物 | 亚洲一区在线观看视频 | av不卡一区二区 | 九草网 | 特级免费毛片 | 国产a级片免费看 | 在线观看羞羞漫画 | 精品久久久久中文慕人妻 | 麻豆欧美 | 99爱免费视频 | 少妇无内裤下蹲露大唇视频 | 久久老司机精品视频 | 69精品丰满人妻无码视频a片 | 天天射天天干天天 | 各种含道具高h调教1v1男男 | 91精品一区二区三区综合在线爱 | 成人动漫h在线观看 | 国产精品国产一区二区 | 永久免费AV无码网站韩国毛片 | 国产精品伦一区二区三级古装电影 | 欧美在线精品一区 | 亚洲一区二区三区电影在线观看 | 久草新在线 | av片一区二区 | 亚洲人天堂 | 天天草视频| 99在线观看 | 精品爆乳一区二区三区 | 手机在线观看av网站 | 成人午夜在线观看 | 欧美福利网 | 国产精品va | 日韩亚洲精品视频 | 亚洲视频免费播放 | 涩涩在线看| 亚洲骚片 | xfplay5566色资源网站 | 中文亚洲av片不卡在线观看 | 国产成人av网 | 国产一区二区不卡在线 | 在线免费观看国产精品 | 天堂中文在线视频 | 娇妻被肉到高潮流白浆 | 国内91视频 | 大黑人交交护士xxxxhd | 激情网五月| 国产成人主播 | 激情片| 国产免费一区二区三区网站免费 | 91视频看| 亚洲国产精品久久久久久 | 青青草视频在线免费观看 | 国产精品系列在线 | 日本免费网站在线观看 | 欧美性教育视频 | 在线观看免费观看在线 | 精品一性一色一乱农村 | 久久久久久亚洲中文字幕无码 | 国产毛片久久久久 | 欣赏asian国模裸体pics | 1024金沙人妻一区二区三区 | 91小视频| 精品一区二区日韩 | 久草中文网 | 国产免费福利视频 | 中出在线视频 | 日日好av | 亚洲精品国产精品乱码在线观看 | av成人免费在线观看 | 国产日韩欧美不卡 | 中文免费视频 | 久久久久久久久久久91 | 日韩极品一区 | 香蕉大人久久国产成人av | 深夜福利亚洲 | 福利一区福利二区 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国内外成人免费视频 |