Establezca manualmente un nombre de host para la dirección IP (es decir, / etc / hosts equiv.?)

10

Soy un desarrollador web y estoy desarrollando nuestro sitio web en mi máquina de escritorio local. Tengo un teléfono Android (HTC deseo ejecutar Android 2.2). Quiero probar cómo se ve nuestra aplicación web en Android. Puedo conectarme a la misma red wifi que mi máquina de escritorio, sin embargo, utilizamos varios nombres de dominio falsos codificados en nuestra aplicación web. En mi máquina de escritorio Ubuntu Linu7x, uso /etc/hostspara configurar estos nombres de dominio en direcciones IP locales.

¿Hay alguna forma de hacer esto en Android? Quiero que "foo.xyz" (nuestro nombre de dominio de prueba) apunte a 172.31.1.67 (mi máquina de escritorio interna). ¿Hay alguna manera de hacer esto sin rootear el teléfono (ya que mi teléfono Android no está rooteado ahora)

Rory
fuente
¿Cómo están resolviendo sus otras máquinas esa IP al nombre de dominio de prueba? Si lo está haciendo correctamente y está utilizando DNS internamente en su red, y está actualizando la IP / nombre en DNS para apuntar uno al otro, entonces cuando su teléfono se conecte a su Wifi interno, debería recoger su configuración de DNS interna y simplemente funcionar .
GAThrawn
@GAThrawn Yo también desarrollo web (aunque no específicamente para dispositivos móviles). En mi entorno, es normal tener varios sitios de desarrollo local configurados en diferentes hosts virtuales, y conectarme a ellos a través de / etc / hosts (o Windows equiv). Como el OP está ejecutando Linux, debería ser bastante simple configurar un servidor DNS de desarrollo. Sin embargo, nos estamos alejando un poco del tema de este sitio :)
Matt H
3
@Matt intentaba sugerir una mejor manera de hacerlo que cambiar la configuración del teléfono. Soy un administrador de sistemas, y preferiría tenerlo todo centralizado en DNS. Cientos de archivos HOSTS en todas partes, todos apuntando con diferentes nombres a diferentes direcciones son una pesadilla de gestión a seguir, y un gran dolor de cabeza y pesadilla cuando alguien, excepto el creador original, tiene que resolver cualquier problema.
GAThrawn
@GAThrawn +1 para el 'gran dolor de cabeza', ciertamente lo es :) DNS es, por supuesto, una opción más simple: agregué información a mi respuesta sobre cómo especificar un servidor DNS no estándar en caso de que sea útil para el OP. Mi "Hago desarrollo web" estaba destinado a significar "... así que siento tu dolor" en lugar de un "... así que sé de lo que estoy hablando" - perdón si me pareció un poco tonto -dah :)
Matt H
Tenía una solución para esto para una máquina Windows, que puede solicitar una solución de Ubuntu, desafortunadamente perdí mi publicación de blog paso a paso. Usando SimpleDNS pude alojar mi propia red DNS, por lo que cualquier dominio que necesitaba atacar y tenía una aplicación que consumía dominio, por lo que era necesario. Simplemente lo agregué y SimpleDNS reenviaría la dirección IP al cuadro de desarrollo en la red. Luego, en un dispositivo Android o iOS, simplemente cambie su DNS de Wifi a la dirección IP de la caja que ejecuta su DNS y ¡estará ausente!
Markive

Respuestas:

6

Firefox Mobile es compatible con servidores proxy HTTP, por lo que si bien es un motor de representación diferente, al menos debería poder tener una idea de cómo funciona su interfaz de usuario en una pequeña pantalla táctil. Aquí se explica cómo llegar a la sección de configuración secreta: http://support.mozilla.com/en-US/questions/758279

El navegador predeterminado incluye soporte de proxy en Gingerbread (aunque eso no lo ayuda a usted y a su Deseo desrooteado en este momento, HTC debería ofrecer una actualización de OTA a Gingerbread pronto , o puede impulsarlo a rootear y volver a flashear su teléfono).

(Para ambos, necesitaría configurar un proxy en su red para que pueda servir su dominio foo.xyz)

Finalmente, siempre puedes usar el emulador de Android SDK . El rendimiento será extremadamente lento, pero al menos estarías ejecutando el mismo motor de renderizado.

Editar: como GAThrawn menciona en los comentarios anteriores, también podría lograr lo que desea usando entradas DNS en el servidor DNS predeterminado de su red o un servidor DNS de desarrollo. Su teléfono recogerá el servidor DNS predeterminado de su red wifi, o puede cambiarlo a algo específico a través de Configuración> Conexiones inalámbricas y redes> Configuración de Wi-Fi> tecla programable Menú> Avanzado.

Matt H
fuente