No Android Emulator, é possível usar um proxy para depurar o tráfego de aplicativos ou acessar a Internet por trás de um firewall corporativo. O emulador oferece dois mecanismos de proxy distintos para oferecer suporte a esses diferentes casos de uso: o proxy do sistema Android e o proxy do emulador.
Como escolher o proxy certo
Antes de configurar um proxy, é importante entender os dois casos de uso. O proxy do sistema Android é usado para inspecionar o tráfego de aplicativos, enquanto o proxy do emulador é usado para navegar pelas restrições de rede. Esses dois proxies são mutuamente exclusivos. Só é possível ativar um por vez.
| Recurso | Proxy do sistema Android | Proxy do emulador |
|---|---|---|
| Caso de uso principal | Depuração de apps | Bypass de firewall |
| Camada operacional | Camada de rede | Camada de aplicação |
| Configuration | Interface das configurações de Wi-Fi do sistema Android | Interface de controles estendidos do emulador ou flag -http-proxy. |
| Depuração de HTTPS | Sim: permite que ferramentas como o Charles Proxy interceptem o tráfego quando um certificado é instalado. |
Não: cria um túnel TCP, impedindo a inspeção SSL . |
| Processa tráfego não HTTP/HTTPS |
Não: processa principalmente apenas o tráfego HTTP e HTTPS. |
Sim: encaminha todo o tráfego TCP. |
Caso de uso 1: depuração de aplicativos com o proxy do sistema Android
Para depurar o tráfego de rede do aplicativo, como inspecionar solicitações HTTPS com uma ferramenta como o Charles Proxy, use o proxy do sistema Android.
Esse proxy opera na camada de aplicativo do SO Android. Ele permite que ferramentas de depuração interceptem e inspecionem o tráfego, mas isso exige a instalação dos certificados de segurança necessários no dispositivo emulado.

Configuração
É possível configurar o proxy do sistema Android de duas maneiras:
- Configuração manual: no emulador, acesse Configurações > Rede e Internet > Wi-Fi, selecione sua rede e insira manualmente as configurações de proxy.
- Configuração automatizada: é possível configurar programaticamente o proxy do sistema Android. Isso é feito criando um teste de instrumentação que usa um framework de automação de interface, como o UI Automator, para abrir o app Configurações do Android e aplicar a configuração de proxy sem intervenção manual.
Caso de uso 2: como ignorar firewalls corporativos com um proxy de emulador
Em muitas redes corporativas, conexões diretas com a Internet são recusadas pelos administradores da rede e precisam passar por um proxy específico. Para acessar recursos externos de dentro de uma rede restrita, use o proxy do emulador.
Esse mecanismo opera em um nível de rede mais baixo e roteia todo o tráfego TCP do dispositivo emulado pelo proxy especificado, o que o torna ideal para travessia de firewall. Ele reescreve de maneira transparente as solicitações HTTP do dispositivo virtual antes de enviá-las ao proxy, permitindo que funcionem corretamente.
Configuração
Ao usar o emulador no Android Studio, é possível configurar um proxy
com as configurações no menu do Android Studio (
Settings > Appearance & Behavior > System Settings > HTTP Proxy). Para mais detalhes, consulte
Configurar o proxy do Android Studio
na documentação do Android Studio.
Ao usar o emulador de forma independente (fora do Android Studio), você pode configurar o proxy do emulador usando um dos seguintes métodos:
Flag de linha de comando: inicie o emulador pela linha de comando com a flag
-http-proxy <proxy>. As informações de<proxy>podem ser especificadas no formatohttp://<machineName>:<port>ouhttp://<username>:<password>@<machineName>:<port>.emulator -http-proxy http://<machineName>:<port>ou
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>Variável de ambiente: defina a variável de ambiente
http_proxycom as configurações de proxy. O emulador verifica essa variável na inicialização e usa o valor dela automaticamente se estiver definida.Controles estendidos: abra os Controles estendidos do emulador, navegue até Configurações > Proxy e insira manualmente a configuração de proxy HTTP. O emulador salva essas configurações para o dispositivo e as restaura na reinicialização.

O proxy do emulador opera na camada de rede. Ele faz um túnel de tráfego HTTPS por TCP, mas esse tráfego é encaminhado sem descriptografia, o que impede a inspeção HTTPS. O proxy do emulador não é compatível com o redirecionamento de UDP.
Interação com o Android Studio
O Android Studio tem uma caixa de diálogo de configuração de proxy própria para baixar atualizações e bibliotecas. Quando você inicia um emulador no Android Studio, ele lê as configurações de proxy do IDE uma vez para preencher a configuração Proxy do emulador. No entanto, essas configurações não afetam o proxy do sistema Android.