Como posso acessar meu host local no meu dispositivo Android?

543

Consigo acessar meu servidor Web de laptop usando o emulador do Android, estou usando 10.0.2.2:portno funciona bem.

Mas quando eu conecto meu telefone Android real, o navegador do telefone não pode se conectar ao mesmo servidor da Web no meu laptop. O telefone está conectado ao laptop usando um cabo USB. Se eu executar o comando adb devices, posso ver meu telefone.

o que estou perdendo?

gath
fonte
3
tente isso: stackoverflow.com/a/17603378/1600061
Zsivics Sanel
Consulte a documentação aqui: developer.android.com/tools/devices/…
Henry Aloni
3
Desligue o firewall enquanto estiver testando sua página da Web ou adicione seu IP às redes confiáveis ​​nas configurações do firewall.
precisa saber é
Outra opção: stackoverflow.com/questions/35650343/…
statosdotcom
souper ez com ngrok
JonPizza

Respostas:

403

O USB não fornece rede para o dispositivo móvel.

Se a área de trabalho e o telefone estiverem conectados ao mesmo WiFi (ou qualquer outra rede local), use o endereço IP da área de trabalho atribuído pelo roteador (não localhoste não 127.0.0.1).

Para descobrir o endereço IP da sua área de trabalho:

  • digite na linha de comando ipconfig(Windows) ou ifconfig(Unix)
    • no Linux, o one-liner ifconfig | grep "inet " | grep -v 127.0.0.1produzirá apenas as coisas importantes
    • várias sugestões sobre como obter uma saída semelhante no Windows
  • haverá um monte de IPs
  • tente todos eles (exceto os mencionados localhoste 127.0.0.1)

Se o seu telefone estiver conectado à rede móvel , as coisas ficarão mais difíceis.

Ou vá hardcore:

  • primeiro descubra o endereço IP externo do seu roteador ( https://www.google.de/search?q=myip )
  • depois, no roteador, encaminhe alguma porta para <your desktop IP>:<server port number>
  • finalmente use o endereço IP externo e a porta encaminhada

Caso contrário, use algo como xip.io ou ngrok .

NOTA : O ifconfigcomando foi descontinuado e, portanto, está ausente por padrão no Debian Linux, iniciando no Debian Stretch. A alternativa nova e recomendada para examinar uma configuração de rede no Debian Linux é o comando ip. Por exemplo, para usar o comando ip para exibir uma configuração de rede, execute o seguinte:

ip address

O comando ip acima pode ser abreviado para:

ip a

Se você ainda preferir usar ifconfigcomo parte de sua rotina diária de administração do sistema, poderá instalá-lo facilmente como parte do net-toolspacote.

apt-get install net-tools

A referência está aqui

Elijah Saounkine
fonte
Obrigado, isso foi de grande ajuda para mim. O problema para mim foi que eu não sabia que o servidor apache local poderia ser solucionado através do ip 10.0.2.2. ... Eu tento muitos outros endereços IP, como o show do ipconfig etc. Mas, novamente, muito obrigado!
Vidar Vestnes
4
Eu não entendo esta solução do problema. Você pode me ajudar sobre como meu telefone pode acessar meu servidor? Espero que você encontre essa solução para mim. Obrigado.
iremce
1
Leia meu comentário abaixo .. Você também deve ter permissão de acesso à Internet. <usa-permissão android: name = "android.permission.INTERNET" />
Sanjay Kumar
3
O @simo vai para a página inicial do roteador, 10.0.0.1 para XFinity, geralmente 192.168.1.1 e, em seguida, efetue login, procure dispositivos conectados ou IPs locais, encontre seu computador e bam. O meu era 10.0.0. # E, em seguida, basta adicionar [10.0.0. # :( porta) / Servidor / Servlet] ou o que quer que fosse
jp093121
2
Esta não deve ser a resposta aceita para esta pergunta. O encaminhamento de porta no Chrome devtools e no adb reverse funciona perfeitamente bem com um cabo USB.
211317 Roger Madsen
229

Na verdade é bem simples.

  • Ligue o ponto de acesso WiFi do seu telefone / roteador Android e conecte seu laptop ao telefone
  • Inicie seu servidor em localhost(eu estou usando o servidor WAMP para Windows)
  • Agora abra o prompt de comando e digite
ipconfig

Depois de fazer isso, você verá algo como o seguinte:

Adaptador LAN sem fio Conexão de rede sem fio:
  Sufixo DNS específico da conexão. :
  Endereço IPv6 local do link. . . . . : fe80 :: 80bc: e378: 19ab: e448% 11
  Endereço IPv4. . . . . . . . . . . : 192.168.43.76
  Máscara de sub-rede. . . . . . . . . . . : 255.255.255.0
  Gateway padrão. . . . . . . . . : 192.168.43.1
  • Copie o endereço IPv4 (neste caso, é 192.168.43.76)
  • No seu navegador móvel, basta colar o endereço IPv4

Nota: Defina sua rede como " Rede doméstica ". Definir a rede como Rede doméstica significa que você está permitindo que seu PC compartilhe coisas com outros dispositivos na mesma rede.

Se você estiver usando o Windows 10, isso pode ser feito com o seguinte:

  • Abrir configurações
  • Vá para Rede e Internet
  • Selecione WiFi no menu esquerdo
  • Toque no nome do WiFi conectado
  • Defina o perfil de rede da rede como privado

Se você está tendo um problema, é mais provável que isso ocorra com o Firewall do Windows.

  • Abra o Painel de Controle
  • Vá para o Windows Defender Firewall
  • Toque em Permitir um aplicativo ou recurso através do Windows Defender Firewall
  • Verifique se o aplicativo está ativado para redes privadas (deve haver uma marca)
  • Se for não habilitado, toque em Alterar configurações e marque a caixa de seleção sob Privada para o aplicativo
Dhiral Pandya
fonte
30
hm fez isso, mas o navegador parece demorar uma eternidade para carregar, então me dá um oops? Estou fazendo algo errado? E o que você quer dizer com rede doméstica
Lion789 18/01/14
12
Lembre-se de desligar o firewall no computador também.
Minh Nguyen
2
Sim, desligar o firewall ajudou. Obrigado.
Beemo
2
* Home Network é (: Rede local significa seu computador i permitido material compartilhar com os dispositivos da mesma rede.
Leap Falcão
6
"Toque em Permitir um aplicativo ou recurso pelo Firewall do Windows Defender. Verifique se o aplicativo está ativado para redes privadas (deve haver uma marca de seleção)." Qual aplicativo você quer dizer?
Liz Lamperouge
71

Usuários do Mac OS X

Consegui isso habilitando o gerenciamento remoto :

  • Verifique se o telefone e o laptop estão conectados à mesma rede WiFi
  • No Mac, vá para System preferences/sharing
  • Ativar gerenciamento remoto

Você verá uma mensagem semelhante a esta:

  • Outros usuários podem gerenciar seu computador usando o endereço some.url.com

No seu dispositivo Android, agora você deve poder acessar some.url.com, que delega localhostno seu Mac. Você também pode usar ifconfigpara obter o endereço IP do seu Mac.


Solução portátil com ngrok(qualquer sistema operacional com Node.js)

Se você não se importa de expor seu projeto com um domínio temporário, pode usá-lo ngrok. Digamos que eu tenho um aplicativo que roda, localhost:9460eu posso simplesmente escrever

npm install ngrok -g

ngrok http 9460

Isso me dará:

Status da sessão online
Atualização disponível disponível (versão 2.2.8, Ctrl-U para atualizar)
Versão 2.2.3
Região Estados Unidos (EUA)
Interface da Web http://127.0.0.1:4040
Encaminhamento http://f7c23d14.ngrok.io -> localhost: 9460
Encaminhamento https://f7c23d14.ngrok.io -> localhost: 9460

Conexões ttl opn rt1 rt5 p50 p90
                              0 0 0,00 0,00 0,00 0,00

Agora posso chegar https://f7c23d14.ngrok.iocomo uma maneira de visualizar remotamente localhost. É ótimo compartilhar o trabalho de design ou o progresso com os clientes.


Solução alternativa com nginxpasse de proxy

Se você estiver executando algo assim nginx proxy_pass, será necessário um pouco mais de ajustes - essa é uma abordagem hacky, mas funciona para mim e estou aberto a sugestões para melhorá-la:

  • Ativar gerenciamento remoto (como mencionado acima)
  • Configure temporariamente o servidor para escutar na porta, 81em vez de80
  • Digite o seguinte comando:
sudo nginx -s reload
  • Visita http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

Recarregar e visitar http://youripaddress:81

lfender6445
fonte
2
Se você estiver usando essa configuração de 'gerenciamento remoto', outra coisa útil a saber é que se você tiver muitos servidores com alias em execução no mamp, seu dispositivo móvel (conectado via usb) só dará acesso ao primeiro <VirtualHost> definido no httpd-vhosts.conf então basta mover seu projeto atual para o topo da lista
DrewT
Ativei o gerenciamento remoto no meu mac, como você disse, e recebi outro conjunto de caixas de seleção de várias maneiras pelas quais meu computador podia ser gerenciado remotamente. Deixei todos desmarcados, exceto o Observe, e funcionou bem para mim. Meu servidor web estava rodando no meu Mac na porta localhost 5555 e vi "outros usuários podem gerenciar seu computador usando o endereço 10.0.0.12"; portanto, no navegador do meu telefone, digitei 10.0.0.12:5555 e vi minha página da web.
Marcus
Funcionou quando usado o IP, 192.168.0.101mas o nome do host não funcionou.
Krishnadas PC
6
Em um Mac, basta ALT + clicar em Wi-Fi na barra de menus para obter seu endereço IP.
matharden
Desativei meu firewall, mas ainda está mostrando a conexão recusada, alguma ideia de como fazê-lo funcionar?
Unnikrishnan
67

Com a solução simples (basta acessar laptop_ip_addr:portdo dispositivo móvel, quando o celular e o laptop estão no mesmo WiFi), recebo um erro ERR_CONNECTION_REFUSED . Ou seja, meu MacBook parece recusar a tentativa de conexão do meu celular.


Soquete reverso ADB (somente Android)

Esta solução funciona para mim (testada com um MacBook):

  1. Conecte o dispositivo móvel Android com cabo USB ao laptop
  2. Ativar depuração USB no dispositivo móvel
  3. No laptop, execute adb reverse tcp:4000 tcp:4000
    • Use seu número de porta personalizado em vez de 4000
  4. Agora, no dispositivo móvel, você pode navegar para http://localhost:4000/, e ele realmente se conectará ao laptop, não ao dispositivo móvel

Veja as instruções aqui .

A desvantagem é que isso funciona apenas com um único dispositivo móvel por vez . Se você deseja acessar com outro dispositivo móvel, primeiro desconecte o primeiro (desative a Depuração USB ), conecte o novo (ative a Depuração USB ) e execute adb reverse tcp:4000 tcp:4000novamente.


ngrok (funciona com todos os dispositivos)

Outra solução que sempre deve funcionar é o ngrok (como mencionado em outras respostas). Funciona pela Internet, e não pela rede local.

É extremamente fácil de usar:

brew cask install ngrok
ngrok http 4000

Isso gera, entre outras informações, uma linha como

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

Agora, você pode navegar para http://4cc5ac02.ngrok.ioqualquer dispositivo conectado à Internet, e esse URL é redirecionado para o localhost:4000seu laptop.

Observe que, enquanto o comando ngrok estiver em execução (até você pressionar Ctrl-C ), seu projeto será exibido publicamente . Todo mundo que tem o URL pode vê-lo.

Weibeld
fonte
2
você salvou minha vida cara
To Be
Obrigado. Você me ajudou muito. Eu usei adb reverse apenas substituindo 4000 portas para 3000 e funcionou como eu precisava.
Marcus Crisostomo
caramba que funcionou finalmente, obrigado!
Alex
38

Encontrei uma solução rápida para esse problema. Experimente este link . Isso deve ajudá-lo a resolver o problema.

Eu mudei apenas uma coisa, onde o tutorial afirma que você altera '127.0.0.1' para 'Todos', altere-o para o endereço IP em que o servidor está sendo executado.

Depois disso, você poderá se conectar ao seu host local.


Abaixo está uma cópia (revisada) das informações da página vinculada:

Passo 1

Instale o servidor Wamp (ou qualquer outro que você preferir).

Este é um dos melhores servidores que conheço para configurar um servidor local. Se você instalou o Apache ou qualquer outro servidor, ignore esta etapa.

Baixe e instale o Wamp Server aqui.

Passo 2

Adicione uma nova regra para a porta 80 no Firewall do Windows.

  1. Abra o Painel de Controle e selecione Firewall do Windows.

  2. Selecione Configurações avançadas no painel esquerdo da página de configurações do Firewall do Windows.

  3. Selecione Regras de entrada no painel esquerdo e selecione Nova regra.

  4. Selecione Porta e clique em Avançar.

  5. Selecione o botão de opção "Portas locais específicas" e digite 80 como o valor da porta.

  6. Mantenha Permitir a conexão inalterada e vá para a próxima etapa.

  7. Mantenha as opções de perfil inalteradas e clique em Avançar.

  8. Dê um nome legal à sua nova regra e clique em Concluir.

Isso permitirá o acesso à porta 80 no IP da rede local.

etapa 3

Edite o arquivo httpd.conf do servidor Wamp para corrigir o erro 403.

Precisamos editar este arquivo. Caso contrário, obteremos o erro 403 proibido quando acessarmos o host local através de um IP de rede local.

  1. Clique no ícone da bandeja do servidor Wamp.

  2. Abra o submenu do servidor Apache.

  3. Selecione httpd.conf.

  4. Localize esta seção de configuração no arquivo httpd.conf:

    Directory c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

Encontre e substitua '127.0.0.1' por 'Tudo', salve o arquivo e reinicie o servidor Wamp.

Passo 4

Encontre o seu IP da rede local.

  1. Abra o prompt de comando.

  2. Digite e digite o ipconfigcomando.

  3. No meu caso, meu endereço de rede local é 10.0.0.2.

Este é o IP que você precisa para acessar seu host local no seu telefone Android por wifi. Para testar se está funcionando, digite este endereço IP no navegador da área de trabalho em que o servidor localhost está instalado. O navegador deve exibir sua página de host local com êxito. Isso garantirá que o IP da rede local agora esteja acessível com sucesso no seu telefone Android.

Espero que este tutorial o ajude a acessar seu host local por wifi.

GertV
fonte
Obrigado! isso funcionou tão fácil. só uma coisa; Deixei o httpd.conf como# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb
1
tutorial é baseado no Windows? que?
abbood
1
O link não está mais funcionando, portanto, toda a resposta é inútil agora, pois as informações não foram adicionadas ao SO sobre como fazê-lo.
Rtack
Para o servidor Wamp v3, eu estava recebendo um erro proibido. Confira esta resposta stackoverflow.com/questions/23382627/... sobre como alterar a informação vhosts (não editar o arquivo httpd.conf como mostrado acima)
friek108
Esta é uma versão muito antiga do Wamp, os arquivos de configuração são um pouco mais complicados agora. Especialmente se você usar o recurso VHosts. Não consigo descobrir, muitas camadas de substituições.
Jonathan
37

No PC com Windows Você pode não precisar fazer nada além de descobrir o seu endereço IPv4 usando o comando "ipconfig".

  • Etapa 1: conecte seu telefone ao PC usando o cabo USB.
  • Etapa 2: Use o comando 'ipconfig' para descobrir o seu endereço IPv4 (IP externo do roteador), por exemplo, 192.168.1.5 no meu caso.
  • Etapa 3: basta acessar "192.168.1.5:8080" no navegador do telefone. Funciona !

Outros detalhes do ambiente de trabalho: Windows 7, Google Nexus 4 (4.2.2), servidor Tomcat, aplicativo Grails.

Você também deve ter permissão para acessar a Internet no arquivo AndroidManifest:

<uses-permission android:name="android.permission.INTERNET"/>
Sanjay Kumar
fonte
Eu tentei, mas continua dizendo que "Conexão recusada". Por quê? :( A porta tem que ser 8080? Atualmente, meu serviço da web está sendo executado em outra porta.
Triet Doan
2
Eu estava usando tomcat na porta 8080. Você pode acrescentar seu próprio porta do servidor no lugar de 8080.
Sanjay Kumar
e quanto a um webapp? não é um aplicativo nativo
amdev 18/08/16
Ainda não tenho acesso ao meu host local #
Anna Leonenko
Eu tentei, mas ele dizjava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez 08/02
16

Existe, no entanto, uma solução muito melhor. Você pode acessar sua máquina host com o endereço IP "10.0.2.2". Isso foi projetado dessa maneira pela equipe do Android. Assim, seu servidor da Web pode funcionar perfeitamente no host local e, no seu aplicativo Android, você pode acessá-lo via "http://10.0.2.2:8080".

Akhil Jain
fonte
4
tht é verdade, truque é especificar o endereço IP local da sua máquina e acessá-lo através de um roteador sem fio conectado entre o seu dispositivo Android e sua máquina aka sistema
Akhil Jain
Ótimo ponto, eu estava procurando exatamente isso, para comunicar o emulador com o localhost. Obrigado!!
Eagle
13

Como essa é uma pergunta antiga, há uma nova maneira de fazer isso que é realmente muito simples. Faça o download da extensão do ADB Chrome e siga estas instruções:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

Jason
fonte
3
Não há mais necessidade de baixar o ADB, pois está obsoleto, mas vá para developers.google.com/chrome-developer-tools/docs/… e siga as instruções. Nota: Eu tive que encaminhar a porta 8443 para o host local: 8443
Dimitris
isso funciona apenas para chamadas de URL do Chrome no dispositivo ou também deve funcionar no meu aplicativo?
Orkun Ozen
3
Isso me colocou no caminho certo - uma resposta mais recente sobre as Ferramentas de Desenvolvimento do Chrome pode ser encontrada aqui: Encaminhamento de porta reversa do Android Chrome
Richard Le Mesurier
Fiquei preso porque não tinha o google chrome instalado no meu dispositivo. Doh!
Chad Bingham
9

"O encaminhamento de porta no Chrome para Android facilita o teste do site de desenvolvimento no celular. Ele funciona criando uma porta TCP de escuta no dispositivo móvel que mapeia para uma porta TCP específica da sua máquina de desenvolvimento. O tráfego entre essas portas viaja através de USB, para que a conexão não dependa da sua configuração de rede ".

Mais detalhes aqui: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

Daniel
fonte
9

Esta solução é utilizável quando o seu dispositivo móvel e computador não estão na mesma rede:

Você precisa usar o encaminhamento de porta neste caso. Na janela de inspeção do Google chrome (chrome: // inspecionar), você pode ver os dispositivos conectados. insira a descrição da imagem aqui

Clique no botão fowading da porta e defina uma porta aleatória, digamos 3000, para a porta usada pelo laptop, digamos 8080.

insira a descrição da imagem aqui

agora use o localhost: 3000 do dispositivo para acessar o localhost: 8080 (ou_qualquer_ip: portno) no laptop. Você pode verificá-lo no navegador móvel. Tente localhost: 3000 no navegador móvel. Certifique-se de marcar a caixa de seleção "Ativar encaminhamento de porta" na janela "Configurações de encaminhamento de porta"

Ajmal Ansari
fonte
Eu te amo Cara! Você precisa escrever um tutorial com estas etapas!
Rafael Gomes Francisco
7

Execute o CMD como administrador

Na tela CMD, digite ipconfig e a tela aparecerá com o texto

como esta foto insira a descrição da imagem aqui

e você pode acessar seu host local usando este ip, você deve estar conectado à mesma rede que o seu PC conectado

Youssef Subehi
fonte
apenas desligar o firewall
SalindaKrish
6

Você pode ter seu servidor da Web escutando na interface de loopback e não na interface de rede. Os principais sinais disso são:

  • Acertos 127.0.0.1e localhost(do localhost ou emulador do Android) funcionam
  • Acessos 192.168.xxx.xxxnão funcionam, seja do host local, LAN ou WAN

Eu falo mais sobre diagnosticar e corrigir isso em uma resposta aqui .

inocente
fonte
6

Tente ir para este arquivo: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

E mude 10.0.2.2 para o seu endereço IP.

bangptit
fonte
mudança desculpa para permitir formar todo se é "Negar"
bangptit
Estou usando XAMPP e este vídeo me deu a resposta para fazê-lo funcionar: youtube.com/watch?v=YrA_yN3gySs
Leon
5

finalmente feito no Ubuntu, estou executando o servidor nodejs no localhost: 8080

1) abra o tipo de terminal ifconfig, você receberá ip algo como isto: inet addr: 192.168.43.17

2) agora basta colocar o endereço da URL como este: "192.168.43.17:8080" (porta 8080 proveniente do número da porta do host local) ex: "192.168.43.17:8080/fetch"

iamkdblue
fonte
isso só funciona para mim quando conectado à mesma rede. Eu preciso de algo que funciona sem internet
Geek Guy
5

Use isso no seu ubuntu / Macbook para obter o endereço IP do seu sistema. Seu celular e sistema devem estar na mesma rede

ip addr | grep inetIsso lhe dará um endereço IP que se parece 192.168.168.46. Use isso no seu smartphone.

Espero que isto ajude.

Naveen TP
fonte
4

Eu usei esse processo:

  • Instale o Fiddler no PC
  • Configure o dispositivo PC e Android seguindo estas excelentes instruções
  • Basta ir ao navegador no dispositivo Android e digite http: //ipv4.fiddler para acessar o host local

Observe que esse processo exige que você altere as configurações de WiFi no dispositivo Android no início e no final de cada sessão. Achei isso menos doloroso do que fazer o root no meu dispositivo Android.

user3078359
fonte
4

A maneira mais fácil de usar o host local padrão é usar http: // localhost: port . Isso funciona em um laptop e Android também.

Se não funcionar, no Android, defina o IP padrão do seu telefone para 127.0.0.1:port :)

Terminal aberto e tipo: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*
Harry1992
fonte
3

Estava com esse problema usando vários servidores localhost diferentes. Finalmente, coloquei meu aplicativo em funcionamento no telefone em segundos, usando o servidor simples Python. Leva apenas alguns segundos, então vale a pena tentar antes de entrar em soluções mais complicadas. Primeiro, verifique se você tem o Python instalado. cmd+re digite pythonpara Windows ou $ python --versionno terminal mac.

Próximo:

cd <your project root>

$ python -m SimpleHTTPServer 8000

Em seguida, basta encontrar o endereço da sua máquina host na rede, usei System Preferences/Sharingno mac para encontrá-lo. Toque isso no seu dispositivo Android e carregue o seu index.htmle você deve ser bom.

Caso contrário, o problema é outra coisa e convém examinar algumas das outras soluções sugeridas. Boa sorte!

* EDIT *

Outra solução rápida para tentar se você estiver usando o Chrome é a extensão Web Server for Chrome. Eu achei uma maneira rápida e super fácil de acessar o host local no meu telefone. Apenas verifique Accessible to local networksob o arquivo Optionse ele deve funcionar no seu celular sem nenhum problema.

insira a descrição da imagem aqui

mikeym
fonte
Funcionará para outras linguagens do lado do servidor que não o python?
MASh 11/09/17
3

O ngrok permite que você coloque seu host local em um servidor temporário e é muito simples de configurar. Forneci algumas etapas aqui que podem ser encontradas no link:

  1. Faça o download do ngrok zip no link acima
  2. Abra o zip
  3. Execute seu servidor localmente e anote o número da porta
  4. No terminal, vá para a pasta onde o ngrok mora e digite ngrok http [port number]

Você verá um pequeno painel no seu terminal com um endereço apontando para o seu host local. Aponte seu aplicativo para esse endereço e crie no seu dispositivo.

Maxwell
fonte
Isso é útil apenas para acessar o servidor externamente. Você pode apenas usar o endereço IP local do servidor.
OneCricketeer
3

Antes de tudo, conecte seu telefone e computador ao wifi comum.

Em seguida, abra o prompt de comando usando executar como administrador

Comando ipconfig

O que mostra o lan ip sem fio

Use ip: port do seu servidor para acessar no telefone

user8246589
fonte
2

Antes de tudo, torne o endereço IP da máquina (onde o servidor está sendo executado) estático. Digite este endereço IP estático no código do Android. Em seguida, vá para a interface do seu roteador wifi e verifique o painel esquerdo. Você verá opções como encaminhamento / encaminhamento de porta. Clique nele e encaminhe a porta 80. Agora edite seuhtttpd.conf arquivo e edite-o para

Permitir de todos

. Reinicie seu servidor. Tudo deve funcionar bem agora.

Além disso, você pode reservar o endereço IP da sua máquina para que ele seja sempre alocado a você. No painel esquerdo da interface do seu roteador, localize DHCP -> Address Reservation, clique nele. Digite o endereço MAC do seu equipamento e o endereço IP digitado no código. Clique em salvar. Isso reservará o endereço IP fornecido para sua máquina.

Abhishek Singh
fonte
2

Uma solução para conectar meu dispositivo móvel ao meu servidor wamp com base no meu laptop:

Primeiro, o wifi não é um roteador. Portanto, para conectar meu dispositivo móvel ao servidor wamp com base no host local do meu laptop, preciso de um roteador. Baixei e instalei um roteador virtual gratuito: https://virtualrouter.codeplex.com/

Configurá-lo é realmente simples:

  1. clique com o botão direito do mouse no ícone do roteador virtual na bandeja do sistema
  2. clique em Configurar roteador virtual
  3. preencha uma senha
  4. se sua conexão à Internet estiver em ethernet, escolha Conexão compartilhada: Ethernet
  5. Em seguida, ligue o wifi no seu laptop e dispositivo
  6. No seu dispositivo, conecte-se ao nome da rede do roteador virtual

Em seguida, você pode conectar-se ao seu laptop via dispositivo, iniciando um navegador e preencha o endereço IPV4 do seu laptop (para encontrá-lo no Windows, digite cmd: ipconfig e encontre o endereço ipv4)

Você deve ver a página inicial do servidor wamp.

Fred
fonte
2

Embora uma resposta tenha sido aceita, mas isso funcionou para mim:

  1. Verifique se o computador e o dispositivo Android estão na mesma rede.
  2. obtenha o endereço IP do seu computador. (no caso do tipo mac ifconfigdentro do terminal e procure por en0/en1 -> inetalgo como 19*.16*.1.4.) (no windows, use `ipconfig)
  3. Abra suas configurações móveis e vá para rede-> pressione e segure sua rede wifi-> modifique rede -> role para baixo até as opções avançadas -> escolha o manual do proxy e no nome do host do proxy digite seu endereço, ou seja, 19*.16*.1.4dentro da porta, digite sua porta. e salve.

  4. pesquise what is my ipno google chrome e obtenha seu ip, digamos que seja1**.1**.15*.2**

  5. tente acessar 1**.1**.15*.2**:port/do seu dispositivo móvel.

É tão simples quanto isso.

Muitas felicidades
fonte
Você não precisa de um proxy via WiFi e também não precisa do endereço IP externo em uma rede local
OneCricketeer
2

Foi o que funcionou para mim. Adicionei outra linha após o IP 127.0.0.1 para especificar o endereço IP exato da rede local (não o endereço IP público) do dispositivo que eu queria usar. No meu caso, o meu Samsung Galaxy S3

Conforme sugerido pelo Bangptit, edite o arquivo httpd.conf (x são os números da versão): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Procure a tag onlineoffline e adicione o ip do seu telefone (eu encontrei o endereço IP do meu telefone nas páginas de configuração dos meus roteadores):

tag onlineoffline - não remova

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

meus telefones ip na linha abaixo

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

Pode-se estender isso para incluir também um subdomínio inteiro, por exemplo, 192.168.1.0/24 etc.

HostMyBus
fonte
2

A maneira mais fácil (isso funcionou perfeitamente para mim) é hospedar seu site localmente 0.0.0.0:<port_no>e acessá-lo usando dispositivos móveis, use <local_ipv4_address>:<port_no>/<path>no navegador.

  • Para saber seu endereço ipv4 local, basta digitar ipconfigcmd
  • Qualquer dispositivo conectado à mesma rede pode acessar esse URL.
realpac
fonte
2

Ngrok é a melhor solução. Se você estiver desenvolvendo PHP, recomendo instalar o Laravel Valet . Ele tem versões para MacOS e Linux, então você pode usar o valet sharecomando Se você estiver desenvolvendo alguma tecnologia de front-end e precisar compartilhar uma porta como 3000, use o ngrok diretamentengrok http 3000

Yamen Ashraf
fonte
1

Adicionando uma solução para futuros desenvolvedores.

Copie o endereço do seu endereço IP. clique com o botão direito na sua rede -> rede e compartilhamento-> clique na conexão que você tem atualmente-> detalhes-> então o endereço ao lado do endereço ipv4 é o seu endereço ip, observe isso em algum lugar

Vá para o painel de controle -> sistema e segurança -> firewall do Windows -> configurações avançadas -> regras de entrada -> novas regras (siga as etapas para adicionar uma porta, por exemplo, 80, é realmente simples de seguir)

coloque o endereço IP que você anotou no navegador do telefone e o número da porta para a qual você criou a regra. por exemplo, 192.168.0.2:80 e wala.

Solução possível se não conectar. clique com o botão direito do mouse em rede-> abra rede e compartilhamento-> procure em ver suas conexões ativas, sob o nome da sua conexão no tipo de conexão e clique nela se for pública e certifique-se de alterá-la para uma rede doméstica.

Shuyaib Abdullah
fonte
1

Outra coisa a verificar é que alguns roteadores têm problemas para preencher as solicitações quando o 2.4G e o 5G estão ativados e os dispositivos estão em frequências diferentes. Tentando desativar uma das frequências para que ambos os dispositivos estejam conectados à mesma interface.

user1453449
fonte
0

use connectifye xamppou equivalente e digite o endereço IP na barra de URL móvel para acessar

Phaneendra Charyulu Kanduri
fonte
0

Pessoalmente, não insisto em usar o host local ao usar o dispositivo, não há solução fácil.

Basta iniciar a atividade na qual você se conecta ao host local, onde pode usar o emulador. Qualquer informação que você precise obter do dispositivo pode ser gerada com facilidade e enviada à atividade como parâmetro.

Ahmet Arslan
fonte