Pergunta

Alguém conseguiu fazer o Android Emulator funcionar atrás de um proxy que requer autenticação?

Eu tentei definir o argumento -http-proxy como

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

mas não estou tendo sucesso.

Tentei seguir os documentos sem sucesso.Eu também tentei o -verbose-proxy configuração, mas isso parece não existir mais.

Alguma indicação?

Foi útil?

Solução

Consegui fazer isso no emulador Adndroid 2.2.

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"

Lá define o nome do host proxy na propriedade "Proxy" e a porta proxy na propriedade "Port"

Outras dicas

Parece que o SDK 1.5 em diante, o -http-proxy flag também não funciona.O que funcionou para mim foi inicializar a imagem do Android no emulador e, quando o Android estiver em execução, vá para Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names e, em seguida, defina as configurações de proxy http para o ponto de acesso padrão.

Com as configurações de proxy APN definidas, posso fazer com que o navegador do emulador navegue na web.No entanto, outras coisas como o Maps ainda não funcionam.

Lembro-me de ter o mesmo problema - Depois de pesquisar na web, encontrei esta solução - Na linha de comando,

1. > adb shell
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
4. sqlite>.exit

EDITAR:Resposta editada para refletir a versão mais recente do Android.

Aparentemente, esse problema ocorre apenas com Android 2.xe Windows.Há um bug aberto aqui:http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

  1. Encontre o arquivo androidtool.cfg no C:\Documents and Settings\YOUR USER NAME\.android\

  2. Adicione esta linha:

    http.proxyLogin=USER@PASSWORD
    
  3. Salve o arquivo e tente abrir o Android SDK.

Para configurar o servidor proxy, precisamos definir a configuração de APNS.Para fazer isso:

  • Vá para configuração
  • Vá para redes sem fio e redes
  • Vá para redes móveis
  • Vá para os nomes dos pontos de acesso.Use o menu para adicionar novos apns
  • Definir proxy = localhost
  • Defina Port = porta que você está usando para fazer o servidor proxy, no meu caso é 8989

Para configurar Nome e apn aqui está o link:

De acordo com o seu cartão SIM você pode ver a tabela

Isso funcionou para mim: http://code.google.com/p/android/issues/detail?id=5508#c39
Aparentemente há um bug no emulador que obriga você a usar o endereço IP do proxy em vez do nome...

Jay, embora esse seja o local ideal para esta informação, ela não foi atualizada para 2.1.Abaixo listarei os métodos que atualmente NÃO funcionam para o emulador 2.1.

O argumento http-post não funciona para o emulador 2.1.Definir um proxy na lista APN no emulador 2.1 não funciona.Inserir o proxy diretamente na tabela do sistema via sql-lite não funciona com 2.1.

Na verdade, a ÚNICA maneira de fazer com que o navegador se conecte à Internet por meio do emulador que encontrei no 2.1 é NÃO usar proxy.Espero realmente que isso seja resolvido logo, pois há muitas pessoas com o mesmo problema.

  1. Inicie o prompt de comando.

  2. Vá até a pasta onde seu emulador está localizado.Em geral, estará na pasta de ferramentas do Android SDK.

  3. Em seguida, use o seguinte comando:

    emulator -avd <avd name> -http-proxy <server>:<proxy>
    

    Com isso, poderemos acessar a internet através do navegador.

Usando o emulador Android SDK 1.5 com proxy no Eclipse 3.45

Vá para Package Explorer -> Clique com o botão direito no seu projeto Android -> Executar como-> Executar configurações.

No aplicativo Android na coluna esquerda, selecione seu projeto -> na coluna direita, onde você vê Android | Alvo | Guias comuns ->

Selecione Destino -> na parte inferior “Opções adicionais de linha de comando do emulador” ->

-proxy HTTP http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

->Executar/Fechar.

Não usei o Android Emulator, mas configurei a variável de ambiente $http_proxy para perl e wget e algumas ferramentas cygwin no Windows.Isso pode funcionar para você no Android, mas a barra no nome de domínio parece ser um problema em potencial.Eu sei que tentei colocar meu domínio "GLOBAL" lá, mas acabei retirando-o e mantendo: http://$USER:password@www-proxy.company.com:80

Um problema que encontro com frequência são os programas que não podem ser instruídos a usar o proxy também para consultas DNS.Nos casos em que isso não acontece, sempre recebo um nome de host não encontrado.Eu gostaria de encontrar um resolvedor de DNS local que possa usar o proxy para todos os programas que não o fizerem.

Consegui visualizar o tráfego com um sniffer HTTP em vez de um proxy.Usei HTTPScoop, que é um pequeno aplicativo legal.

Além disso, o bom de usar o HTTPScoop é que também posso ver o tráfego no meu dispositivo real quando ligo o compartilhamento de internet e faço meu telefone usar o wifi do meu mac.Portanto, este é um bom negócio para depurar o que acontece no próprio telefone E no emulador.

Desta forma não importa qual emulador você usa, pois o sniffer vê o tráfego independente do emulador, dispositivo, configurações do compilador etc.

Vou explicar todos os passos:

  1. Vá para configurações no emulador Android> Sem fio e rede> Rede móvel> Ponto de acesso> Telkilla> e aqui faça as configurações necessárias, como proxy, porta, etc.

Acho que agora está tudo claro sobre as configurações de proxy...

Para Android2.3.3 Configurações-> sem fio & Networks-> MobileNetworks-> AccessPointNames-> Telkila-> Defina o proxy e a porta aqui (xx.xx.xx.xx e porta)

Eu tive o mesmo problema quando usei o seguinte comando:

emulator-x86.exe -http-proxy domain\user:password@proxyIP:port -avd MyAVD

Recebi o erro de autenticação de proxy.

Finalmente, tive que ignorar a autenticação do proxy NTLM usando o Cntlm aqui:

http://sourceforge.net/projects/cntlm/

E depois de simplesmente configurar o cntlm.ini, eu uso o seguinte comando:

emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD

e funciona :)

Com as novas versões do Android Studio e seu emulador é uma tarefa fácil.

Pressione o botão "Mais" do emulador, escolha Configurações -> guia Proxy.Todas as configurações necessárias estão lá.

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top