Définissez manuellement un nom d'hôte pour l'adresse IP (c.-à-d. / Etc / hosts équiv.?)

10

Je suis développeur Web et je développe notre site Web sur ma machine de bureau locale. J'ai un téléphone Android (htc desire exécutant android 2.2). Je veux tester à quoi ressemble notre application Web sur Android. Je peux me connecter au même réseau wifi que ma machine de bureau, mais nous utilisons plusieurs faux noms de domaine codés en dur dans notre application Web. Sur ma machine de bureau Ubuntu Linu7x, j'utilise /etc/hostspour définir ces noms de domaine sur des adresses IP locales.

Est-il possible de le faire sur Android? Je veux que "foo.xyz" (notre nom de domaine de test) pointe vers 172.31.1.67 (ma machine de bureau interne). Existe-t-il un moyen de le faire sans rooter le téléphone (car mon téléphone Android n'est pas rooté maintenant)

Rory
la source
Comment vos autres machines résolvent-elles cette IP en nom de domaine de test? Si vous le faites correctement et utilisez DNS en interne sur votre réseau, et mettez à jour l'IP / le nom dans DNS pour pointer l'un sur l'autre, alors lorsque votre téléphone se connecte à votre Wifi interne, il devrait récupérer vos paramètres DNS internes et simplement fonctionner .
GAThrawn
@GAThrawn Je fais aussi du développement web (mais pas spécifiquement pour les appareils mobiles). Dans mon environnement, il est normal d'avoir un certain nombre de sites de développement locaux configurés dans différents hôtes virtuels et de s'y connecter via / etc / hosts (ou Windows equiv). Étant donné que l'OP exécute Linux, il devrait être assez simple de configurer un serveur DNS de développement. Nous nous éloignons un peu du sujet de ce site cependant :)
Matt H
3
@Matt essayait de suggérer une meilleure façon de le faire que de modifier les paramètres du téléphone. Je suis un administrateur système et je préférerais de loin que tout soit centralisé dans DNS. Des centaines de fichiers HOSTS partout, tous pointant des noms différents à des adresses différentes sont un cauchemar de gestion à suivre, et un énorme mal de tête et un cauchemar lorsque quiconque, à l'exception du créateur d'origine, doit résoudre des problèmes.
GAThrawn
@GAThrawn +1 pour le `` gros mal de tête '' - c'est certainement :) DNS est bien sûr une option plus simple - a ajouté des informations à ma réponse sur la spécification d'un serveur DNS non standard au cas où cela serait utile à l'OP. Mon "je fais du développement web" était censé signifier "... donc je ressens votre douleur" plutôt qu'un "... donc je sais de quoi je parle" - désolé si ça a l'air un peu lah-de -dah :)
Matt H
J'avais une solution à cela pour une machine Windows, ce qui peut entraîner une solution Ubuntu, malheureusement j'ai perdu mon article de blog étape par étape. En utilisant SimpleDNS, j'ai pu héberger mon propre DNS réseau, donc tout domaine que j'avais besoin de frapper et j'avais une application consommatrice de domaine, il était donc nécessaire que je l'ajoute simplement et SimpleDNS transmettrait l'adresse IP à la boîte de développement sur le réseau. Ensuite, dans un appareil Android ou iOS, changez simplement votre DNS Wifi en adresse IP de la boîte exécutant votre DNS et vous êtes absent!
Markive

Réponses:

6

Firefox Mobile prend en charge les proxys HTTP, donc bien qu'il s'agisse d'un moteur de rendu différent, vous devriez au moins avoir une idée de la performance de votre interface utilisateur sur un petit écran tactile. Voici comment accéder à la section de configuration secrète - http://support.mozilla.com/en-US/questions/758279

Le navigateur par défaut inclut la prise en charge de proxy dans Gingerbread (bien que cela ne vous aide pas, vous et votre désir non racine, HTC devrait bientôt offrir une mise à jour OTA à Gingerbread , ou cela pourrait vous inciter à rooter et à re-flasher votre téléphone).

(Pour les deux, vous devez configurer un proxy sur votre réseau afin qu'il puisse servir votre domaine foo.xyz)

Enfin, vous pouvez toujours utiliser l' émulateur du SDK Android . Les performances seront douloureusement lentes, mais vous utiliseriez au moins le même moteur de rendu.

Modifier: Comme GAThrawn le mentionne dans les commentaires ci-dessus, vous pouvez également réaliser ce que vous voulez en utilisant des entrées DNS sur le serveur DNS par défaut de votre réseau ou un serveur DNS de développement. Votre téléphone récupérera le serveur DNS par défaut de votre réseau wifi, ou vous pouvez le changer en quelque chose de spécifique via Paramètres> Sans fil et réseaux> Paramètres Wi-Fi> Touche programmable Menu> Avancé.

Matt H
la source