Defina manualmente um nome de host para o endereço IP (por exemplo, / etc / hosts equiv.?)

10

Sou desenvolvedor web e estou desenvolvendo nosso site na minha máquina de desktop local. Eu tenho um telefone Android (desejo HTC executando o Android 2.2). Quero testar a aparência do nosso aplicativo Web no Android. Posso conectar-me à mesma rede wifi da minha máquina desktop, no entanto, usamos vários nomes de domínio falsos codificados em nosso aplicativo da web. Na minha máquina desktop Ubuntu Linu7x, eu uso /etc/hostspara definir esses nomes de domínio para endereços IP locais.

Existe alguma maneira de fazer isso no android? Quero que "foo.xyz" (nosso nome de domínio de teste) aponte para 172.31.1.67 (minha máquina de desktop interna). Existe alguma maneira de fazer isso sem fazer o root do telefone (como meu telefone Android não está enraizado agora)

Rory
fonte
Como suas outras máquinas estão resolvendo esse IP para o nome de domínio de teste? Se você estiver fazendo isso corretamente e usando o DNS internamente na sua rede, e atualizando o IP / nome no DNS para apontar um para o outro, quando o telefone se conectar ao seu Wifi interno, ele deverá selecionar as configurações de DNS interno e apenas trabalhar .
precisa
@GAThrawn Também desenvolvo web (embora não especificamente para dispositivos móveis). No meu ambiente, é normal ter vários sites de desenvolvimento local configurados em diferentes hosts virtuais e conectar-se a eles via / etc / hosts (ou equivalente do Windows). Como o OP está executando o Linux, deve ser bastante simples configurar um servidor DNS de desenvolvimento. Estamos meio que vagando pelo assunto deste site por lá :)
Matt H #
3
A @Matt estava tentando sugerir uma maneira melhor de fazê-lo do que alterar as configurações do telefone. Eu sou um administrador de sistemas e prefiro ter tudo centralizado no DNS. Centenas de arquivos HOSTS por todo o lado, todos apontando nomes diferentes em endereços diferentes, são um pesadelo de gerenciamento, e uma enorme dor de cabeça e pesadelo quando alguém, exceto o criador original, tem alguma solução para problemas.
precisa
@GAThrawn +1 pela 'enorme dor de cabeça' - certamente é :) O DNS é obviamente uma opção mais simples - adicionou informações à minha resposta sobre a especificação de um servidor DNS não padrão, caso isso seja útil para o OP. Meu "eu faço desenvolvimento web" significava "... então eu sinto sua dor" em vez de "... então eu sei do que estou falando" - desculpe se isso pareceu um tanto ridículo -dah :)
Matt H
Eu tinha uma solução para isso em uma máquina Windows, o que pode levar a uma solução Ubuntu, infelizmente eu perdi minha postagem passo a passo no blog. Usando o SimpleDNS, eu era capaz de hospedar meu próprio DNS de rede; portanto, qualquer domínio que eu precisava acessar e eu tinha um aplicativo que consome domínio, era necessário que eu apenas o adicionasse e o SimpleDNS encaminharia o endereço IP para a caixa de desenvolvimento na rede. Em seguida, no dispositivo Android ou iOS, basta alterar o seu DNS Wifi para o endereço IP da caixa que executa o seu DNS e você estará fora!
Markive 23/05

Respostas:

6

O Firefox Mobile suporta proxies HTTP, portanto, embora seja um mecanismo de renderização diferente, você deve pelo menos ter uma ideia do desempenho da interface do usuário em uma pequena tela sensível ao toque. Veja como chegar à seção de configuração secreta - http://support.mozilla.com/en-US/questions/758279

O navegador padrão inclui suporte a proxy no Gingerbread (embora isso não ajude você e seu Desejo não enraizado no momento, a HTC deve oferecer uma atualização OTA ao Gingerbread em breve , ou poderá estimulá-lo a fazer root e re-piscar o telefone).

(Para os dois, você precisa configurar um proxy na sua rede para que ele atenda seu domínio foo.xyz)

Por fim, você sempre pode usar o emulador do SDK do Android . O desempenho será extremamente lento, mas você pelo menos estaria executando o mesmo mecanismo de renderização.

Editar: como o GAThrawn menciona nos comentários acima, você também pode conseguir o que deseja usando entradas DNS no servidor DNS padrão da sua rede ou em um servidor DNS de desenvolvimento. O telefone captura o servidor DNS padrão da sua rede wifi ou você pode alterá-lo para algo específico em Configurações> Redes sem fio e outras> Configurações de Wi-Fi> tecla programável Menu> Avançado.

Matt H
fonte