Sie können selbst (oder innerhalb Ihres Skripts) einen Netzwerkeintrag in die wpa_supplicant.conf einfügen. Verbinden Sie sich im Wesentlichen einmal manuell, dann tun Sie:
adb pull /data/misc/wifi/wpa_supplicant.conf
und binden Sie den Netzwerkeintrag zur Automatisierung in Ihr Skript ein. Beispiel für ein einfaches Skript:
#!/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)"
Zu spät zur Party, aber ich habe einen Weg gefunden, dies auf einem Gerät ohne Root zu erreichen .
Es ist vielleicht nicht schön, aber es funktioniert.
Grundsätzlich schlage ich vor, eine App zu erstellen, die sich einem Zugriffspunkt auf der Grundlage von EXTRAS
anschließt beim Start der App angegeben. Die EXTRAS
werden dann mit dem am
bereitgestellt -e <KEY> <VALUE>
des Befehls Parameter.
Ich habe bereits eine App gebaut, die das tut, und sie ist hier verfügbar:https://github.com/steinwurf/adb-join-wifi
Sobald die App installiert ist, kann ein WLAN-Zugangspunkt mit dem folgenden ADB
verbunden werden Befehl:
adb shell am start -n com.steinwurf.adbjoinwifi/com.steinwurf.adbjoinwifi.MainActivity -e ssid [SSID] -e password_type [PASSWORD_TYPE] -e password [WIFI PASSWORD]
Weitere Informationen finden Sie in der README-Datei auf Github.
Hoffe es hilft jemandem.