tengo todos los detalles para conectarse a un punto de acceso particular. Tengo que usar ese punto de acceso solamente, así que todo lo que necesito es el comando para hacerlo.de conexión a Wi-Fi usando adb shell
Respuesta
Usted puede agregar una entrada de red en el mismo wpa_supplicant.conf (o dentro de la secuencia de comandos) Esencialmente conectar manualmente una vez, y luego hacer:
adb pull /data/misc/wifi/wpa_supplicant.conf
e integrar la entrada de red en la secuencia de comandos para la automatización. Ejemplo simple script:
#!/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)"
Uno sólo podría utilizar: 'wpa_passphrase SSID passphrase' en una caja de Ubuntu y copiar la salida al dispositivo Android. Me ha funcionado en una tableta de Samsung. – wojciii
Esto solo funciona en dispositivos rooteados. – vent
Sí para dispositivos rooteados. Pero realmente me ayudó a desbloquear mis dispositivos. Muchas gracias por los caminos útiles. En lugar de alternar entre las configuraciones, utilicé 'svc wifi disable' y luego' svc wifi enable'. – ony
Como un add-on: puede habilitar la conexión Wi-Fi a través de svc como root en el dispositivo
svc wifi enable
y desactivar a través de
svc wifi disable
Esto requiere que el dispositivo sea rooteado y no deberíamos sugerir a los usuarios que rooteen el dispositivo por razones de seguridad. – CodeFlash
@ RajA.P .: Gracias por los comentarios. Aparentemente todos los métodos excepto [@jpihl] (https://stackoverflow.com/a/37303412/1587329) requieren que el dispositivo sea rooteado, simplemente no dicen esto explícitamente. Si el voto a favor fue de usted: ¿los votó negativamente a todos? –
He intentado con los comandos anteriores que me dicen que el dispositivo se ha rooteado y estoy usando mi dispositivo empresarial, lo que no quiero comprometer. – CodeFlash
Como otro complemento -on: aunque se basaba mi dispositivo llegué remote object ''/data/misc/wifi/wpa_supplicant.conf'' does not exist
error al intentar ejecutar adb pull
. Sucede porque adb
no se ejecuta en modo ROOT. Para trabajar alrededor de este se puede ejecutar algo como esto
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'"
tarde a la fiesta, pero se le ocurrió una manera de lograr esto en un dispositivo sin raíz.
Puede que no sea bonita, pero funciona.
Básicamente lo que propongo es crear una aplicación que se una a un punto de acceso basado en EXTRAS
dado al iniciar la aplicación. El EXTRAS
se proporcionan a continuación, utilizando el parámetro del comando am
-e <KEY> <VALUE>
.
ya construir una aplicación para la que lo hace y está disponible aquí: https://github.com/steinwurf/adb-join-wifi
Una vez instalada la aplicación, un punto de acceso Wi-Fi se puede unir con el ADB
siguiente comando:
adb shell am start -n com.steinwurf.adbjoinwifi/com.steinwurf.adbjoinwifi.MainActivity -e ssid [SSID] -e password_type [PASSWORD_TYPE] -e password [WIFI PASSWORD]
Hay más información en el archivo README en Github.
Espero que ayude a alguien.
Gracias por esto - gran idea! –
que resuelve el problema por esto: adb pull /data/misc/wifi/wpa_supplicant.conf ~/Desktop
, y luego editar el archivo, agregue el módulo de red, mi archivo conf conjunto es:
##### 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
}
Entonces rmar el archivo de origen, agregue lo empuja al /data/misc/wifi
carpeta, reinicie su dispositivo. Tenga en cuenta que los diferentes dispositivos tienen diferente contenido por encima de la línea de red, no modifique esa parte.
esto solo funciona en dispositivos rooteados – user2340356
super tarde pero espero que esto ayude a alguien que puede tropezar con este hilo.
si está tratando el método de extracción ADB pero recibió "objeto remoto no existe", intente esto:
en la misma caja símbolo del sistema,
- tipo
adb root
para reiniciar ADB como root . haga clic en entrar. - Ahora escriba
adb shell
, haga clic en entrar. se asegura de los espectáculos prontas[email protected][device]:
- En el símbolo #
cd /data/misc/wifi
clic en Entrar. - Por último escriba
cat wpa_supplicant.conf
haga clic en Entrar.
esto debería volcar los datos de WiFi a los que se había conectado anteriormente en su teléfono, a la pantalla de su PC.
estos comandos trabajaron en mi dispositivo sin raíces después de correr en el “objeto remoto no existe” tema.
C: \ Archivos de programa (x86) \ ADB mínima y Fastboot> adb shell .......................... .............................. shell @ android:/$ cd/data/misc/wifi ...... ....................................... ......... ........... .................... ........... /system/bin/sh: cd:/data/misc/wifi: Permiso denegado ................................... ................... ............. 2 | shell @ android:/$ cat wpa_supplicant.conf ..................................... .... .................... .................. – user2340356
/system/bin/sh: cat: wpa_supplicant.conf: No hay tal archivo o directorio ................................... .............. 1 | shell @ android:/$ cd/data/misc/wifi .................... ......................... ....................... ......................... /system/bin/sh: cd:/data/misc/wifi: Permiso denegado ...... ................................................ ......... – user2340356
eso es lo que obtengo cuando ejecuto esos comandos :(. Tengo una cámara samsung galaxy. Versión Android 4.1.2. Tal vez haya un error de seguridad y puedo usarlo y recuperar el contraseñas wifi? – user2340356
- 1. Android adb sobre WiFi install apk
- 2. Conexión WiFi a través de Android
- 3. conexión wifi GameKit?
- 4. android adb shell permission denied
- 5. ¿Cómo matar aplicaciones nativas de 'adb shell'?
- 6. Conexión WiFi Android programáticamente
- 7. Cómo traceroute en adb shell?
- 8. simulando el toque usando ADB
- 9. Finalización de pestañas en adb shell
- 10. scripts shell/batch para dirigir comandos al shell adb
- 11. Conexión de un teléfono Android con ADB
- 12. ADB sobre Bluetooth Android
- 13. ¿Cómo examinar SharedPreferences desde adb shell?
- 14. puedo usar adb shell para enviar comandos a mi aplicación
- 15. Cómo instalar u obtener acceso a sqlite3 desde adb shell
- 16. Programación de socket Android sin conexión WIFi
- 17. Conectividad WIFI a WIFI con Android
- 18. cómo cambio la zona horaria usando adb
- 19. conexión wifi cambió la acción en Android
- 20. Emular Force Stop desde ADB/comandos de shell
- 21. ¿Qué significa Asset Allocations en adb shell dumpsys meminfo
- 22. Android adb shell am startservice: Error no encontrado
- 23. Descubre dispositivos móviles usando wifi
- 24. Conexión no wifi con detección de detección de teléfono
- 25. conexión múltiple directa WiFi de Android ad-hoc
- 26. Conectar a Open WiFi
- 27. Android WIFI Cómo detectar cuando la conexión WIFI específica está disponible
- 28. cómo obtener la información de conexión wifi actual en android
- 29. iOS detectar puntos de conexión WiFi o dispositivos Bluetooth
- 30. Aplicación de depuración usando ADB sobre Bluetooth en un netbook Android-x86
¿Qué desea lograr? –
Tengo que automatizar algunas cosas que solo funcionan con wi-fi. Puedo usar monkey y hacer clic en configuración-> etc., pero lo último sería cómo elegir la red ABC ya que puede haber más de una red disponible . por lo que si pudiera conseguir un comando, puedo hacer que el uso de SSID y la contraseña de inmediato :) – Rohan
Para complementar la respuesta: http://stackoverflow.com/questions/10282484/android-adb-turn-on-wifi- via-adb – EthraZa