Como conectar-me ao meu servidor web http: // localhost do Android Emulator no Eclipse

485

O que posso fazer no emulador Android do Eclipse para conectá-lo à minha página do servidor da web host local em http://localhostou http://127.0.0.1?

Eu tentei, mas o emulador ainda aceita minha solicitação como uma pesquisa no Google por localhost ou, pior, diz que não encontrou a página enquanto meu servidor da Web normalmente está em execução.

Fopa Léon Constantin
fonte
Esta pergunta é sobre o Android Emulator e tem soluções aplicáveis a esse caso sozinho . Se você enfrentar esse problema ao usar um dispositivo Android física , consulte vez stackoverflow.com/questions/4779963/...
Chris Stratton

Respostas:

819

O host local refere-se ao dispositivo no qual o código está sendo executado, neste caso o emulador.

Se você quiser consultar o computador que está executando o simulador do Android, use o endereço IP 10.0.2.2 .

insira a descrição da imagem aqui

Você pode ler mais aqui .

Pappachan Primevo
fonte
12
por que se referir à outra questão? basta adicionar o link Android emulador Networking
Marvin Emil Brach
Obrigado por apontar o link. Eu acho que não estava lá quando a resposta foi postada.
Primal Pappachan
1
@impimpap: Posso usar o nome da máquina em vez do endereço IP?
KJEjava48
@primpap isso não está funcionando com a depuração do Mobile. Existe algum outro? Ou estou cometendo um erro em algum lugar porque 10.0.2.2 está funcionando no emulador, mas não está funcionando quando eu conecto o dispositivo móvel para depuração USB. ?
Jawad Zeb
5
Essa solução funciona apenas em emuladores , conforme solicitado na pergunta específica aqui. Aqueles que depurarem um dispositivo Android físico precisarão usar o endereço IP ou o nome real do servidor, não poderão usar esse alias especial apenas de emulador. Essa resposta é boa - mas os leitores precisam ter cuidado para que sua situação seja aquela em que é aplicável .
22717 Chris Stratton
156

Use 10.0.2.2para AVD padrão e 10.0.3.2para.

qgicup
fonte
Então, basta adicionar 10.0.3.2nosso arquivo host?
ayjay
29

Usei 10.0.2.2 com êxito na minha máquina doméstica, mas no trabalho, ela não funcionou. Após horas de brincadeira, criei uma nova instância do emulador usando o gerenciador de dispositivos virtuais Android (AVD) e, finalmente, o 10.0.2.2 funcionou.

Não sei o que havia de errado com a outra instância do emulador (a plataforma era a mesma), mas se você encontrar 10.0.2.2 não funcionar, tente criar uma nova instância do emulador.

Derwood Kirkwood
fonte
4
Infelizmente, isso não funciona para mim, mesmo depois de criar uma nova instância do AVD. O que você sugere? Para reinstalar tudo?
Vlado Pandžić
23

Tente http://10.0.2.2:8080/onde 8080está o seu número da porta. Funcionou perfeitamente. Se você apenas tentar 10.0.2.2, não funcionará. Você precisa adicionar o número da porta a ele. Além disso, se o Microsoft IIS estiver instalado, tente desativar esse recurso no painel de controle (se estiver usando qualquer sistema operacional Windows) e tente conforme o indicado acima.

SAMBA
fonte
2
E se as páginas estiverem hospedadas no IIS?
Maracuja-juice
@Marimba figura apenas o que porta seu servidor IIS serve, então o acesso 10.0.2.2:your_iis_port
StoneLam
isto é uma string concluída ea única funcionou no meu android 8.1 emulador
CodeToLife
10

de acordo com a documentação:

10.0.2.2 - Alias ​​especial para a interface de loopback do host (por exemplo, 127.0.0.1 em sua máquina de desenvolvimento)

verifique Rede de emulador para obter mais truques na rede de emulador.

Rahul Tiwari
fonte
5

Para o dispositivo Lion da montanha My Mac OS:

http://10.0.2.2:8888

Funciona perfeito!

Hóspede
fonte
3

Eu precisava descobrir o endereço IP do host do sistema para o emulador "Nox App Player". Aqui está como eu descobri que era 172.17.100.2.

  1. Emulador de terminal Android instalado na app Store
  2. Emita o ip link showcomando para mostrar todas as interfaces de rede. De particular interesse foi a interface eth1
  3. ifconfig eth1Comando Issue , mostra net como172.17.100.15/255.255.255.0
  4. Comece a executar ping nos endereços a partir de 172.17.100.1, e acerte o `172.17.100.2 '. Não tenho certeza se um firewall interferiria, mas não no meu caso

Talvez isso possa ajudar alguém a descobrir isso para outros emuladores.

Hugh Jeffner
fonte
1

Se você estiver no Windows, poderá acessar o sistema simbol, escrever ipconfig e verificar qual ip está atribuído à sua máquina.

Ricardo
fonte
Isso não é necessário ao depurar a partir de um emulador, pois você pode usar o alias especial para a interface de loopback do host citada nas outras respostas. No entanto, se estiver depurando de um dispositivo Android físico, sim, você precisa determinar o endereço real do seu servidor de teste e usá-lo.
22817 Chris Stratton
1

Você pode realmente usar localhost:8000para se conectar ao host local da sua máquina executando o comando abaixo sempre que executar o emulador (testado apenas no Mac):

adb reverse tcp:8000 tcp:8000

Basta colocá-lo no terminal Android Studio.

Ele basicamente configura um proxy reverso no qual um servidor http em execução no telefone aceita conexões em uma porta e as conecta ao computador ou vice-versa.

Nijat Ahmadli
fonte
0

Não sei, talvez esse tópico já esteja resolvido, mas quando tentei fazer isso recentemente na máquina Windows, enfrentei muitas dificuldades. Então, minha solução foi realmente simples. Fiz o download deste software http://www.lenzg.net/rinetd/rinetd.html e segui suas instruções sobre como fazer o encaminhamento de portas e, em seguida, com êxito, meu dispositivo Android se conectou para fazer o projeto asp.net localhost e parou no meu ponto de interrupção.

meu arquivo rinetd.conf:

10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82

Onde 10.1.1.20 é o meu host local ip, 82 e 1234, minhas portas Também tenho arquivos de banho desejados para facilitar a vida yournameofbathfile.bat, coloque esse arquivo dentro da pasta rined. Meu arquivo de banho:

rinetd.exe -c rinetd.conf

Depois de iniciar esse software, inicie o servidor aps.net e tente acessar do dispositivo Android ou de qualquer dispositivo da rede local (por exemplo, o Computador ABC inicia a aplicação de massa) e você verá que tudo funciona. Não há necessidade de ir para a configuração do roteador ou fazer outras coisas complicadas. Eu espero que isso te ajude. Aproveitar.

Jevgenij Kononov
fonte
-1

Outra solução alternativa é obter um domínio gratuito no no-ip.org e apontá-lo para o seu endereço IP local. Então, em vez de usar, http://localhost/yourwebservicevocê pode tentarhttp://yourdomain.no-ip.org/yourwebservice

Astri
fonte