我擁有所有連接到特定接入點的詳細信息。我只能使用該接入點,所以我需要的只是執行該命令的命令。使用adb外殼連接到wi-fi
回答
您可以添加網絡進入的wpa_supplicant.conf自己(或你的腳本中)本質上手動連接一次,然後執行:
adb pull /data/misc/wifi/wpa_supplicant.conf
和整合網絡進入你的腳本的自動化。實施例簡單的腳本:
#!/bin/bash
#
# Get this information by connecting manually once, and do
# adb pull /data/misc/wifi/wpa_supplicant.conf
ADB_PULL="adb pull /data/misc/wifi/wpa_supplicant.conf"
WIRELESS_CTRL_INTERFACE=wlan0
WIRELESS_SSID=Gondolin
WIRELESS_KEY_MGMT="WPA-EAP IEEE8021X"
WIRELESS_EAP=PEAP
WIRELESS_USER=Turgon
WIRELESS_PASSWORD=IdrilCelebrindal
adb start-server
adb wait-for-device
echo "adb connection....[CONNECTED]"
adb root
adb wait-for-device
adb remount
adb wait-for-device
pushd /tmp
rm wpa_supplicant.conf 2>/dev/null # Remove any old one
adbpull_status=`$ADB_PULL 2>&1`
echo -e "\nAttempting: $ADB_PULL"
if [ `echo $adbpull_status | grep -wc "does not exist"` -gt 0 ]; then
echo " wpa_supplicant.conf does not exist yet on your device yet."
echo "This means you have not used your wireless yet."
echo ""
echo "Taking our best shot at creating this file with default config.."
echo "ctrl_interface=$WIRELESS_CTRL_INTERFACE" >> wpa_supplicant.conf
echo "update_config=1" >> wpa_supplicant.conf
echo "device_type=0-00000000-0" >> wpa_supplicant.conf
else
echo $adbpull_status
echo " wpa_supplicant.conf exists!"
fi
echo ""
echo "Add network entry for wpa_supplicant.conf.."
echo "" >> wpa_supplicant.conf
echo "network={" >> wpa_supplicant.conf
echo " ssid=\"$WIRELESS_SSID\"" >> wpa_supplicant.conf
echo " key_mgmt=$WIRELESS_KEY_MGMT" >> wpa_supplicant.conf
echo " eap=$WIRELESS_EAP" >> wpa_supplicant.conf
echo " identity=\"$WIRELESS_USER\"" >> wpa_supplicant.conf
echo " password=\"$WIRELESS_PASSWORD\"" >> wpa_supplicant.conf
echo " priority=1" >> wpa_supplicant.conf
echo "}" >> wpa_supplicant.conf
echo "Pushing wpa_supplicant.conf.."
adb push wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf
popd #/tmp
adb shell chown system.wifi /data/misc/wifi/wpa_supplicant.conf
adb shell chmod 660 /data/misc/wifi/wpa_supplicant.conf
echo ""
echo "Finished!"
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings
echo "Please toggle wifi off/on now.. (ifconfig not sufficient, monkey this)"
這需要設備被植入,並且由於安全原因,我們不應該建議用戶對設備進行根目錄。 – CodeFlash 2017-08-02 08:09:15
@ RajA.P .:感謝您的反饋。看似除[@jpihl](https://stackoverflow.com/a/37303412/1587329)之外的所有方法都需要設備根植,他們只是沒有明確地說明這一點。如果downvote是從你那裏得到的:你是否全部倒下了它們? – 2017-08-02 09:47:00
我曾嘗試上述命令說我的設備是根植,我使用我的企業設備,我不想妥協。 – CodeFlash 2017-08-02 10:30:03
禁用作爲另一個附加-on:雖然我的設備已經紮根,但在嘗試執行adb pull
時,出現了 remote object ''/data/misc/wifi/wpa_supplicant.conf'' does not exist
錯誤。發生這種情況是因爲adb
本身不能以ROOT模式運行。若要此你身邊可以這樣
adb shell "su -c 'cp -R /data/misc/wifi/wpa_supplicant.conf /data/misc/wpa_supplicant.conf'"
adb shell "su -c 'chmod -R 777 /data/misc/wpa_supplicant.conf'"
adb pull /data/misc/wpa_supplicant.conf
adb shell "su -c 'rm /data/misc/wpa_supplicant.conf'"
遲到了執行的東西,但我想出了一個辦法做到這一點的設備上沒有根。
它可能不漂亮,但它的工作原理。
基本上我建議創建一個應用程序,該應用程序基於啓動應用程序時給出的EXTRAS
加入接入點。 然後使用am
命令的-e <KEY> <VALUE>
參數提供EXTRAS
。
我已經建立一個應用程序,它這樣做,它是可以在這裏找到:https://github.com/steinwurf/adb-join-wifi
一旦安裝了該應用,WiFi接入點可以使用以下ADB
命令加入:
adb shell am start -n com.steinwurf.adbjoinwifi/com.steinwurf.adbjoinwifi.MainActivity -e ssid [SSID] -e password_type [PASSWORD_TYPE] -e password [WIFI PASSWORD]
還有更多Github上的README信息。
希望它可以幫助別人。
謝謝你 - 好主意! – 2017-04-18 21:43:01
我用這個解決的問題: adb pull /data/misc/wifi/wpa_supplicant.conf ~/Desktop
,然後編輯這個文件,添加網絡模塊,我的整個的conf文件是:
##### wpa_supplicant configuration file template #####
update_config=1
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=wifi
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="your ssid"
psk="your pswd"
key_mgmt=WPA-PSK
priority=241
}
然後RM原始文件,添加它推到/data/misc/wifi
文件夾,請重新啓動您的設備。請注意,不同的設備在網絡線上方有不同的內容,請勿修改該部分。
這隻適用於有根設備 – user2340356 2017-08-19 17:25:22
超晚,但我希望這可以幫助任何人可能偶然發現此線程。
如果你想在亞行拉法卻收到「遠程對象不存在」,試試這個:
在同一個命令提示框,
- 型
adb root
重新啓動亞行根。點擊進入。 - 現在鍵入
adb shell
,點擊輸入。確保提示顯示[email protected][device]:
- 在#提示符下輸入
cd /data/misc/wifi
點擊輸入。 - 最後輸入
cat wpa_supplicant.conf
點擊輸入。
這應該轉儲你以前連接到你的手機的WiFi數據到你的電腦屏幕上。
在運行到「遠程對象不存在」問題後,這些命令對我的無根設備起作用。
C:\ Program Files(x86)\ Minimal ADB和Fastboot> adb shell .......................... .............................. shell @ android:/ $ cd/data/misc/wifi ...... ....................................... ......... ........... .................... ........... /system/bin/sh:cd:/ data/misc/wifi:權限被拒絕................................... ................... ............. 2 | shell @ android:/ $ cat wpa_supplicant.conf ..................................... .... .................... .................. – user2340356 2017-08-19 19:50:58
/system/bin/sh:cat:wpa_supplicant.conf:沒有這樣的文件或目錄................................... .............. 1 | shell @ android:/ $ cd/data/misc/wifi .................... ......................... ....................... ......................... /system/bin/sh:cd:/ data/misc/wifi:Permission denied ...... ................................................ ......... – user2340356 2017-08-19 19:52:07
這就是當我運行這些命令:(我有一個三星galaxy相機。android版本4.1.2。也許有一個安全bug,我可以使用它並檢索wifi密碼? – user2340356 2017-08-19 19:52:38
- 1. 如何使用ADB外殼?
- 2. 使用phpMyAdmin連接外殼
- 3. 連接到Android外殼的寬帶網絡和WiFi網絡
- 4. 使用Android的WIFI到WIFI連接性
- 5. 對講未通過adb外殼啓用
- 6. linux外殼 - 無法比較字符串:adb外殼getprop ro.product.brand
- 7. 使用無WiFi連接的WiFi
- 8. 如何使用CMD連接到WiFi?
- 9. 將Nexus 9連接到adb
- 10. 等到wifi連接到android
- 11. Android:在adb外殼上執行程序
- 12. ADB外殼安裝/卸裝SD卡
- 13. adb外殼「監視」命令來監視
- 14. 如何adb外殼getprop和setprop工作
- 15. 使用ADB從外殼卸載應用程序
- 16. 如何使用adb外殼爲Android設備揚聲器打開
- 17. 使用Android ADB外殼返回一個活動
- 18. 如何使用ADB外殼安裝SD卡
- 19. 在Android的adb外殼程序本地程序中使用stl
- 20. 如何連接到wifi
- 21. 從QML連接到WiFi
- 22. 連接到通過WIFI
- 23. libconnman-qt連接到wifi
- 24. 上連接到WiFi網絡
- 25. 批處理腳本adb通過wifi連接
- 26. WiFi連接的Android手機通過ADB觀看模擬器
- 27. 如何通過adb從wifi網絡斷開連接?
- 28. 如何通過WiFi使用adb?
- 29. mySQL外殼連接疑難解答
- 30. C#連接到Powershell,但我需要連接到Exchange管理外殼
你想實現什麼? – 2012-01-03 07:03:11
我必須自動化一些只能使用wi-fi的東西。我可以使用猴子並點擊設置 - >等,但最後一件事是我如何選擇網絡ABC,因爲可能有多個網絡可用。所以如果我能得到一個命令,我可以做到這一點使用SSID和密碼:) – Rohan 2012-01-03 07:05:48
爲了補充答案: http://stackoverflow.com/questions/10282484/android-adb-turn-on-wifi- via-adb – EthraZa 2013-03-15 20:12:29