¿Cómo configurar el proxy WIFI a través de adb shell?

Genymotion 2.2 y Android 4.0

Quiero configurar un proxy HTTP global en Android, y todas las aplicaciones pasarán por este proxy.

Ahora solo puedo hacer esto en la GUI de la siguiente manera: Wi-Fi -> WiredSSID -> Modificar red -> mostrar opciones avanzadas

¿Hay alguna forma de configurar el proxy WIFI a través de adb shell?

Busqué en Google y probé varias formas, como:

 1. export http_proxy xxx
 2. setprop net.gprs.http-proxy xxx
 3. sqlite3 /data/data/com.android.providers.settings/databases/settings.db; INSERT INTO system VALUES(99,'http_proxy','xxx.xxx.xxx.xxx:xxxx')

y nada funciono

Respuestas (4)

En mis dispositivos Android 7 y 8:

adb shell settings put global http_proxy <address>:<port>

Sin embargo, parece que la configuración se pierde al reiniciar.

También funciona en un dispositivo Android 6
Hay comandos para restablecer la configuración del proxy stackoverflow.com/a/47476009/3278855

en el dispositivo maestro:

  1. Configurar proxy wifi manualmente
  2. adb pull /data/misc/wifi/ipconfig.txt

en el segundo dispositivo:

  1. adb shell svc wifi disable
  2. adb push ipconfig.txt /data/misc/wifi/ipconfig.txt
  3. adb shell svc wifi enable

Publiqué esto en esta pregunta de StackOverflow y parece que funcionaría para lo que está tratando de hacer.

Desarrollé una aplicación que le permitirá cambiar el proxy de adb para usarlo en mi propia configuración de automatización y hasta ahora me ha funcionado de manera confiable. Puedes mirar la fuente y descargar el apk desde github . Todo lo que tiene que hacer es instalarlo en el dispositivo que desea automatizar los cambios de proxy y luego ejecutar un comando adb para que la aplicación establezca su configuración de proxy. Más detalles sobre cómo usarlo están en el LÉAME en github.

Usamos un método como este durante algún tiempo, pero para cualquiera que lea, solo funciona para Android <6.
@Crummy tal vez era cierto en ese momento. Funciona para Android 6.0 y 7.0 ahora.

para eliminar el proxy, adb shell settings put global http_proxy :0. Tuve problemas con mi teléfono Android después de configurar el proxy incorrecto. No estoy seguro de si hay alguna configuración predeterminada a través de la GUI en la configuración de Android, estoy usando un teléfono con sistema operativo Android Lollipop, por lo que no hay muchas opciones allí. Para verificar que configuró el proxy incorrecto, si obtiene errores como Caused by: java.net.ConnectException: failed to connect to /127.0.0.1 (port 1337): connect failed: ECONNREFUSED (Connection refused), una causa muy probable sería un proxy incorrecto.