android - how - gmail phone location



Como posso acessar meu host local do meu dispositivo Android? (20)

usuários do mac osx

Tive sucesso ativando o gerenciamento remoto:

  1. garanta que seu phone and laptop are connected to the same wifi network
  2. no mac, vá para system preferences/sharing
  3. enable remote management

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, você agora deve ser capaz de acertar o some.url.com , que delega ao localhost no seu mac. Você também pode usar o ifconfig para obter o ip do seu macbook

solução portátil com ngrok (qualquer sistema operacional com nó ou npm)

Se você não se importar de expor seu projeto com um domínio temporário, poderá usar o ngrok . Vamos dizer que eu tenho um aplicativo que é executado em localhost:9460

npm install ngrok -g
ngrok http 9460

Isso vai me dar:

Session Status                online
Update                        update available (version 2.2.8, Ctrl-U to update)
Version                       2.2.3
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://f7c23d14.ngrok.io -> localhost:9460
Forwarding                    https://f7c23d14.ngrok.io -> localhost:9460

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

Agora posso acessar o https://f7c23d14.ngrok.io como uma maneira de visualizar remotamente o host local. Isso é ótimo para compartilhar o trabalho de design ou o progresso com os clientes

solução alternativa com passagem de proxy nginx

Se você está executando algo assim através do 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:

  • habilitar o gerenciamento remoto (como mencionado acima)
  • temporariamente definir o servidor para escutar na porta 81 em oposição a 80
  • sudo nginx -s reload
  • visite http://youripaddress:81

`` `

server {
  listen 80;
  listen 81; # <-------- add this to expose the app on unique port
  server_name  ~^(local|local\.m).example.com$;
  ...
}

recarregue e visite http://youripaddress:81

Eu sou capaz de acessar o meu servidor web laptop usando o emulador 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?


"O encaminhamento de porta no Chrome para Android facilita o teste de seu site de desenvolvimento em dispositivos móveis. Ele cria uma porta TCP de escuta em seu dispositivo móvel que mapeia para uma porta TCP específica em sua máquina de desenvolvimento. O tráfego entre essas portas via USB então a conexão não depende da sua configuração de rede. "

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


é muito simples, - linha de comando GOTO (Window + R [tipo cmd]) - digite ipconfig, que mostrará o endereço IP atual do seu PC - escreva o endereço IP no navegador do seu telefone Android com: 80 eg ( http: // 192.168.xx: 80 )

Feito

localhost aparecerá no seu telefone


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 isso não funcionar, então no android definir o IP padrão do seu telefone para 127.0.0.1:port :)

Abra o terminal e digite: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

Com a solução simples (basta acessar laptop_ip_addr:port do dispositivo móvel, quando o celular e o laptop estiverem 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 o cabo USB ao laptop
  2. Ativar a depuração USB no dispositivo móvel
  3. No laptop, execute o 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, na verdade, se conectará ao laptop, não ao dispositivo móvel

Veja as instruções here .

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 (habilite a depuração USB ) e execute novamente o adb reverse tcp:4000 tcp:4000 .

ngrok (funciona com todos os dispositivos)

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

É extremamente fácil de usar:

brew cask install ngrok
ngrok http 4000

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

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

Agora, você pode navegar para http://4cc5ac02.ngrok.io em qualquer dispositivo conectado à Internet e esse URL redireciona para localhost:4000 de seu laptop.

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



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

  1. Verifique se o seu computador e o dispositivo Android estão na mesma rede.
  2. obter o endereço IP do seu computador. (no caso do mac digite ifconfig dentro do terminal e procure por en0/en1 -> inet deve ser algo como 19*.16*.1.4 .) (no windows, use `ipconfig)
  3. Abra as configurações do seu celular e vá para rede-> pressione e segure sua rede wifi-> modificar rede-> desloque-se para opções avançadas -> escolha manual proxy e no host nome do host digite seu endereço ou seja, 19*.16*.1.4 porta interna digite seu porta. e salve-o.

  4. pesquise o what is my ip no google chrome, e pegue seu ip, digamos que seja 1**.1**.15*.2**

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

É tão simples quanto isso.


Estava correndo para este problema usando vários servidores host locais diferentes. Finalmente, instalei e executei meu aplicativo 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, certifique-se de ter o Python instalado. cmd+r e digite python para Windows ou $ python --version no mac terminal.

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/Sharing no mac para encontrá-lo. Toque isso no seu dispositivo Android e deve carregar o seu index.html e você deve ser bom.

Se não, então o problema é outra coisa e você pode querer olhar para algumas das outras soluções sugeridas. Boa sorte!

* EDIT *

Outra solução rápida para tentar usar o Chrome é a extensão do Web Server for Chrome. Eu achei uma maneira rápida e super fácil de acessar o host local no meu telefone. Apenas certifique-se de verificar Accessible to local network sob as Options e ele deve funcionar em seu celular sem nenhum problema.


Eu usei este processo:

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

Observe que esse processo exige que você altere as configurações de Wi-Fi no dispositivo Android no início e no final de cada sessão. Eu achei isso menos doloroso, em seguida, enraizando meu dispositivo Android.


Executar o CMD como administrador

e no tipo de tela CMD ipconfig e a tela aparecerá com texto

como esta foto

e você pode acessar o seu localhost usando este ip você tem que estar conectado na mesma rede que o seu PC conectado ao


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

Como sugerido por Bangptit, edite o arquivo httpd.conf (sendo x 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 celular (encontrei o endereço IP do meu celular nas minhas páginas de configuração do roteador):

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 um sub-domínio inteiro também para, por exemplo, 192.168.1.0/24 etc.


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

  • Passo 1: Conecte seu telefone ao PC usando o cabo USB.
  • Passo 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 seu telefone. Funciona !

Outros detalhes do Env: Windows 7, Google Nexus 4 (4.2.2), Servidor Tomcat, Aplicativo Grails.

Você também deve se certificar de que tem permissão para acessar a Internet no arquivo AndroidManifest:

<uses-permission android:name="android.permission.INTERNET"/>

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

Basta iniciar a atividade em que você se conecta ao host local, onde você pode usar o emulador. Quaisquer informações que você precise obter do dispositivo podem ser geradas com facilidade e podem ser enviadas para a atividade como parâmetro.


Primeiro de tudo conecte seu telefone e computador ao wifi comum.

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

Dê o comando ipconfig

Que mostra lan lan sem fio

Use ip: port do seu servidor para acessar no telefone


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 altere 10.0.2.2 para o seu endereço IP.


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 ao localhost e não ao 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 ifconfig | grep "inet " | grep -v 127.0.0.1 uma linha ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1 renderá apenas as coisas importantes
    • há um monte de sugestões sobre como ter uma saída semelhante no Windows
  • vai haver um monte de IP's
  • tente todos eles (exceto o localhost e 127.0.0.1 )

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

Ou vá hardcore:

  • primeiro descubra o endereço IP externo do seu roteador ( https://www.google.de/search?q=myip )
  • em seguida, 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 .


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

  • Ocorre em 127.0.0.1 e localhost (de localhost ou emulador de Android)
  • Ocorrências em 192.168.xxx.xxx não funcionam, seja de localhost, LAN ou WAN

Eu falo mais sobre diagnosticar isso e consertar isso em uma resposta here .


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

1) abra o tipo de terminal ifconfig você vai ter ip algo assim: inet addr: 192.168.43.17

2) agora simplesmente coloque o url como este: "192.168.43.17:8080" (porta 8080 proveniente do número da porta local) ex: "192.168.43.17:8080/fetch"


O Ngrok é a melhor solução. Se você está desenvolvendo PHP, então eu recomendo instalar o Laravel Valet , ele tem versões MacOS e Linux, então você pode usar o comando valet share . Se você está desenvolvendo qualquer tecnologia frontend e precisa compartilhar uma porta como 3000, então use ngrok diretamente ngrok http 3000


ngrok permite que você coloque seu host local em um servidor temporário e é muito simples de configurar. Eu forneci alguns passos aqui que podem ser encontrados no link:

  1. Baixe o zip ngrok do 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 reside e digite ngrok http [port number]

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





android