Como configurar o proxy WIFI via shell adb?

9

Genymotion 2.2 e Android 4.0

Quero definir um proxy HTTP global no Android e todos os aplicativos passarão por esse proxy.

Agora, só posso fazer isso na GUI da seguinte maneira: Wi-Fi -> WiredSSID -> Modificar rede -> mostrar opções avançadas

Existe alguma maneira de definir o proxy WIFI via shell adb?

Eu pesquisei no Google e tentei várias maneiras, 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')

e nada funcionou.

Memória
fonte

Respostas:

22

Nos meus dispositivos Android 7 e 8:

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

Parece que a configuração está perdida na reinicialização, no entanto.

Malcolm Crum
fonte
3
Ele também funciona em um dispositivo Android 6
andreroggeri
11
Existem comandos para redefinir as configurações de proxy stackoverflow.com/a/47476009/3278855
ColCh
5

no dispositivo principal:

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

no segundo dispositivo:

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

Eu postei isso nesta pergunta do StackOverflow e parece que funcionaria para o que você está tentando fazer.

Eu desenvolvi um aplicativo que permitirá que você altere o proxy do adb para uso em minha própria configuração de automação, e ele tem funcionado de maneira confiável até agora. Você pode procurar na fonte e baixar o apk no github . Tudo o que você precisa fazer é instalá-lo no dispositivo em que você deseja automatizar as alterações de proxy e executar um comando adb para que o aplicativo defina suas configurações de proxy. Mais detalhes sobre como usá-lo estão no arquivo README no github.

JP Krause
fonte
Usamos um método como esse por algum tempo, mas para quem lê, ele funciona apenas para Android <6.
Malcolm Crum
@ Crummy talvez fosse verdade naquele momento. Ele funciona para Android 6.0 e 7.0 agora.
Sufian