android的wifi直连,WLAN 直连 | Android 开源项目 | Android Open Source Project
WLAN 直連功能又稱“WLAN 點(diǎn)對點(diǎn)”,它允許支持設(shè)備直接使用 WLAN 直連協(xié)議發(fā)現(xiàn)其他設(shè)備并與之互連(無需連接到互聯(lián)網(wǎng)或移動網(wǎng)絡(luò))。此功能是基于 Wi-Fi 聯(lián)盟 (WFA) Wi-Fi 直連規(guī)范構(gòu)建的,它支持在斷開網(wǎng)絡(luò)的情況下,在可信設(shè)備和應(yīng)用之間共享高吞吐量數(shù)據(jù)。
示例和來源
要使用此功能,設(shè)備制造商必須實(shí)現(xiàn)在 Android 開源項目 (AOSP) 中提供的 WLAN 硬件接口設(shè)計語言 (HIDL)。HIDL 取代了之前使用的硬件抽象層 (HAL) 結(jié)構(gòu),以便通過指定收集到接口和軟件包的類型和方法調(diào)用來簡化實(shí)現(xiàn)流程。
以下是采用 Wi-Fi 直連功能所需的 Wi-Fi HAL 表面:+ hardware/interfaces/wifi/1.3 或更高版本 + hardware/interfaces/wifi/supplicant/1.2 或更高版本
實(shí)現(xiàn)
設(shè)備制造商需要提供框架和 HAL/固件支持:
框架:
AOSP 代碼
啟用 WLAN 直連:需要功能標(biāo)記
WLAN 直連(點(diǎn)對點(diǎn))HAL 支持(意味著固件支持)
為實(shí)現(xiàn)此功能,設(shè)備制造商需要實(shí)現(xiàn) Wi-Fi HIDL,還要為 Wi-Fi 直連啟用功能標(biāo)記。在位于 device// 的 device.mk 中,修改 PRODUCT_COPY_FILES 環(huán)境變量,以便支持 Wi-Fi 直連功能:
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
支持 Wi-Fi 直連的所有其他要求都包含在 AOSP 中。
隨機(jī)分配 MAC 地址
Android 要求 WLAN 直連設(shè)備地址和接口地址是隨機(jī)分配的。它們必須不同于設(shè)備的真實(shí) MAC 地址,并且必須滿足以下要求:
如果沒有保存任何永久性群組,則 WLAN 直連設(shè)備地址必須是在創(chuàng)建接口時隨機(jī)分配的;否則設(shè)備地址必須繼續(xù)使用最后生成的 MAC 地址。
每次建立連接時,Wi-Fi 直連接口地址(也稱為群組地址)必須是隨機(jī)分配的。
Wi-Fi 直連隨機(jī)分配 MAC 地址是在“wpa_supplicant”中實(shí)現(xiàn)的,并由兩項配置控制:p2p_device_random_mac_addr 和 p2p_interface_random_mac_addr。
為啟用此功能,設(shè)備制造商必須:+ 實(shí)現(xiàn) hardware/interface/wifi/supplicant/1.2 中的 Wi-Fi 客戶端 HIDL API ISupplicantP2pIface::setMacRandomization。
在設(shè)備自定義疊加層中將 config_wifi_p2p_mac_randomization_supported 設(shè)置為“true”。
驗證
Android 提供了一組單元測試、集成測試(Android Connectivity Test Suite 或 ACTS)、兼容性測試套件 (CTS) 測試和 CTS 驗證程序測試,以驗證 WLAN 直連功能。您也可以使用供應(yīng)商測試套件 (VTS) 來測試 Wi-Fi 直連功能。
單元測試
使用以下測試驗證 WLAN 直連軟件包。
服務(wù)測試:
atest com.android.server.wifi.p2p
Manager 測試:
atest android.net.wifi.p2p
集成測試 (ACTS)
ACTS Wi-Fi 直連測試套件(位于 tools/test/connectivity/acts/tests/google/wifi/p2p)實(shí)現(xiàn) Wi-Fi 直連的功能測試。
兼容性測試套件 (CTS) 測試
使用 CTS 測試來驗證 WLAN 直連功能。CTS 會檢測何時啟用了這項功能,并會自動包含相關(guān)測試。
要觸發(fā) CTS 測試,請運(yùn)行以下命令:
% atest android.net.wifi.p2p.cts
CTS 驗證程序測試
CTS 驗證程序測試使用以下兩種設(shè)備驗證 WLAN 直連行為:測試設(shè)備和已知良好的設(shè)備。如需運(yùn)行測試,請打開 CTS 驗證程序并轉(zhuǎn)到“Wi-Fi 直連測試”部分。
總結(jié)
以上是生活随笔為你收集整理的android的wifi直连,WLAN 直连 | Android 开源项目 | Android Open Source Project的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql sysbench_MySQL
- 下一篇: Android设备管理器漏洞2--阻止用