Eu perdi um dia inteiro tentando soluções diferentes flutuando no SO e em outro lugar mencionado para habilitar o wi-fi no emulador do Android, mas sem sucesso. Alguém pode me ajudar a descobrir como habilito a internet no meu emulador de Android?
Tenho o Nexus 5X API 27 e tenho como alvo o Android 8.1 (Google Play) e o Nexus 5 API P e o Android 7.1.1.
Eu acredito que deveria haver uma maneira de habilitar internet nele ou então todo o ponto de fornecer wi-fi virtual no emulador parece ser um desperdício.
Estou no mac OS HS 10.13.4 conectado diretamente ao meu roteador sem proxy.
Eu até tentei deletar todos os AVDs, reinstalando-os. Até tentei instalar o Pixel 2 mais recente com Oreo Android 8.1
Nada parece estar funcionando. Alguém enfrentou esse problema e encontrou uma solução?
Qualquer ajuda seria de grande ajuda
Obrigado, Vikram
Atualização: Quando eu conecto meu computador pelo celular como hotspot wi-fi, o emulador tem internet via wi-fi, mas falha ao conectar o computador ao roteador doméstico.
fonte
Respostas:
A seguir estão as soluções para Windows e Mac, mas soluções semelhantes funcionam em qualquer sistema operacional:
No Windows
Defina os servidores DNS preferenciais e alternativos como (captura de tela abaixo):
No Mac
Exclua todas as entradas existentes e adicione essas duas entradas (captura de tela abaixo):
Observação: para usuários de Mac, se o campo de entradas estiver desabilitado e você não puder editá-lo, clique no ícone 'Bloquear' na parte inferior da janela e digite a senha para poder fazer alterações
Reinicie o emulador e ele deve resolver:
Capturas de tela:
Edit: Esta é a solução para uma situação em que o wi-fi do emulador mudou o DNS para algum DNS não funcional. Embora isso funcione na maioria das vezes, também pode haver outros motivos que podem não ser corrigidos com esta solução.
fonte
Minha solução usando Mac OSX 10.13
Eu li sobre isso ser causado pela placa LAN e WiFi sendo habilitados, e algumas abordagens pareciam complicadas para mim, então eu simplesmente tentei isso e funcionou:
fonte
@TheBaj: Eu descobri o problema com isso e resolvi. O problema é que quando você está conectado através do roteador, o androidwifi do seu emulador usa as configurações e define o DNS para algo diferente de 8.8.8.8 que é o DNS do Google (presumo que seja uma configuração meio obrigatória para o androidwifi ganhar internet Acesso). Mas se eu alterar o DNS em minhas configurações de rede, o plugin google-services que busca suas dependências, especialmente aquele que está sendo baixado de
jcenter()
, não será baixado e, portanto, sua sincronização irá falhar, o que eventualmente falhará em sua construção.Portanto, o truque é ter seu DNS do Google (8.8.8.8) configurado nas configurações de rede após as configurações padrão do roteador - esta parte se encarrega de baixar as dependências de
jcenter()
e a sincronização e construção são bem-sucedidas.Agora inicie seu emulador com
emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
comando do terminal que força o emulador a usar 8.8.8.8 já que seu DNS e o emulador terá internet.Estou trabalhando em um aplicativo reagente nativo, portanto, para mim, o Android Studio é desnecessário e configurei meu bashrc para iniciar os diferentes emuladores da seguinte maneira,
function emunex5 { emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 } function emunex6 { emulator @Nexus_6_API_27 -dns-server 8.8.8.8 } function emupix { emulator @Pixel_XL_API_27 -dns-server 8.8.8.8 }
Então, de um terminal, eu inicio o emulador de minha escolha e, em seguida, executo a compilação em outro terminal que executa meu aplicativo no emulador iniciado e MEU EMULADOR FALSO TEM ACESSO À INTERNET. :)
Experimente e espero que isso ajude.
Obrigado, Vikram
fonte
%HOME%\AppData\Local\Android\Sdk\emulator
- foi aqui que eu encontrei.Eu estava tendo o mesmo problema e, após as etapas a seguir, o resolvi.
Passos:
fonte
No macOS:
fonte
Solução para Windows:
emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8
. AquiNexus_4_API_29
estará o nome do seu dispositivo emulador (você pode encontrá-lo na lista de dispositivos do Android Studio -> AVD Manager). Este comando executará o dispositivo especificado e o WIFI terá a Internet conectada.Espero que isto ajude.
fonte
Resolvi com google dns no adaptador de rede
8.8.8.8
e8.8.4.4
fonte
Limpe os dados clicando com o botão direito na lista de dispositivos virtuais e a inicialização a frio funciona para mim.
fonte
Bem, eu fiz assim:
Etapas para adicionar proxy manual:
Captura de tela de referência:
Espero que ajude.
fonte
No Mac OSX (Catalina para mim), o problema é causado pelo fato de que o emulador automaticamente pega o servidor de nomes olhando em /etc/resolv.conf e pegando o primeiro, no meu caso um endereço IPv6. Fonte: https://developer.android.com/studio/run/emulator-networking#dns
Simplesmente edite o arquivo (sudo vi /etc/resolv.conf) e mova o endereço IPv4 (192.168.1.1 no meu caso) para ser o primeiro, antes dos endereços IPv6. Sério, era isso.
fonte
Talvez isso ajudasse alguém. Tentei todas as soluções acima. Alteração de DNS, inicialização a frio, etc. Após várias horas de tentativa e erro, fui para a documentação oficial, que dizia que o emulador pega a configuração do DNS. da máquina host no momento da inicialização do emulador. Eu tinha VMWare instalado em minha máquina, que instala alguns adaptadores de rede. Então, acabei de alterar a configuração do DNS. de todos os adaptadores (incluindo adaptadores VMWare) e inicializei meu emulador a frio. Meu Deus, o problema que não parecia ir embora por horas, simplesmente deu certo!
Agora, o que acho estranho é que mudei de volta a configuração do DNS. de todos os adaptadores para automático e inicializei meu emulador a frio novamente. O WiFi ainda funciona bem. SO: Windows 10.
fonte
100% trabalhando no Windows 10
O Android AVD vem com o Google DSN configurado dentro de emuladores. Portanto, precisamos definir o mesmo para compartilhamento de rede para acessá-lo.
Endereços IP DNS públicos do Google Os endereços IP DNS públicos do Google (IPv4) são os seguintes:
8.8.8.8
8.8.4.4
Os endereços IPv6 de DNS público do Google são os seguintes:
2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Você pode usar qualquer um dos endereços como servidor DNS primário ou secundário.
Mais informações
Aqui eu mostro para definir as etapas de IP v4
Nota: Se a VPN estiver habilitada, não funcionará, será necessário desconectar a VPN
fonte
No Windows:
Após testar algumas soluções, encontrei a minha clicando na seta para baixo no AVD, opção "Cold Boot Now". após a inicialização, o Android teve acesso à internet, então funcionou para mim.
fonte
Uma simples inicialização a frio funcionou para mim, não há necessidade de iniciar outros emuladores ou limpar a memória.
Basta fechar o emulador e selecionar a opção "Cold Boot Now" no menu suspenso adjacente ao botão play. Se não, procure qualquer uma das opções mais abrangentes listadas aqui, mas sugiro sempre começar com a solução mais simples.
Boa sorte!
fonte
Se você tiver alguma VPN conectada - tente desconectá-la.
Para mim, foi através de VPN
Cisco AnyConnect Secure Mobility Client
. Depois de fechar o cliente Cisco (que encerra a conexão VPN), o WiFi no emulador Android começou a funcionar.fonte
O que funcionou para mim:
fonte
Se o ponto wi-fi mudou, reinicie o emulador para que ele atualize as configurações de rede do serviço dhcp.
fonte
Redefinir as configurações de rede no Android Emulator corrige esse problema.
fonte
Para novos usuários que buscam: às vezes, VPN é a sua solução. A alteração da configuração de rede nem sempre é possível devido a problemas de rede. Se você está em endereços IP que o google não responde para essas regiões, sua solução é usar o vpn.Use um vpn adequado (um vpn que por meio dele você pode atualizar seu android studio). Quando seu vpn estiver ligado, inicie seu dispositivo avd ( claro que o nível de API do seu emulador é importante, por exemplo, não tenho nenhum problema com api 22, mas para api 28 é necessário usar vpn!). Essa foi a minha experiência com o emulador de Android na Internet.
fonte
Mude a localização do emulador e configure-o para sua localização atual.
Passos : -
fonte
Eu tive o mesmo problema - no emulador eu estava conectado ao wi-fi / lte, mas não conseguia acessar nenhum site.
A solução para mim foi consertar o IP do meu servidor DNS doméstico:
$ cat /etc/resolv.conf search home nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router nameserver 1.1.1.1 nameserver 1.0.0.1
você realmente não precisa usar google dns
fonte
Tente usar a LAN, se disponível. Isso funciona como um encanto para mim ...
fonte