7
votes

Comment puis-je examiner des projets hébergés localement avec l'émulateur Android SDK?

Je développe tous mes sites sur un serveur OS 10.5.8 avec PHP et MySQL, et j'ai configuré mon / etc. hôtes et httpd.conf fichiers à Afficher mon site sur exemple.dev dans n'importe quel navigateur de cette machine.

J'ai récemment installé le kit de développement logiciel de Android que j'aimerais utiliser pour développer et tester des feuilles de styles ciblées sur mobile Webkit-- mais Je ne peux pas accéder à mes projets hébergés localement dans le navigateur Android.

C'est logique, car il imite l'ensemble du système d'exploitation Android, mais y a-t-il une solution de contournement? Ou puis-je seulement tester des projets qui existent quelque part sur l'internet de l'ordinateur réel, peut-être dans un répertoire masqué?

Quelqu'un a suggéré d'éditer mon fichier /etc/resolv.conf , mais Je ne connais pas la bonne façon de formater un domaine hébergé localement dans le resolv.conf - J'ai essayé des variations des éléments suivants, et rien ne fonctionne: xxx

ou ... xxx

dans mon fichier d'hôtes, il est configuré comme ceci: xxx


0 commentaires

5 Réponses :


2
votes

J'ai travaillé autour d'un numéro similaire en utilisant l'adresse IP ordinateurs dans le réseau local.


0 commentaires

13
votes

Vous devriez pouvoir utiliser l'adresse IP de votre Mac dans l'URL à partir de l'émulateur Android et pouvoir accéder à vos sites de cette façon. Bien sûr, assurez-vous que le partage Web est activé sous partage dans les préférences du système et que votre pare-feu bloque l'adresse.

alternativement, vous pouvez utiliser l'adresse IP de l'hôte virtuelle, qui est 10.0.2.2. Cela planera toujours dans votre Mac hôte lors de l'exécution de l'émulateur.

Si, pour une raison quelconque, vous préférez ne pas utiliser d'adresses IP dans vos URL, vous pouvez mapper l'adresse IP de votre Mac sur n'importe quel nom que vous choisissez en modifiant / etc / hôtes dans votre émulateur. Pour ce faire, vous devrez d'abord créer le système de fichiers en lecture-écrire, puis ajouter votre adresse IP de votre Mac et quel que soit le nom d'hôte que vous souhaitez / etc / hosts: xxx

" http: //cat-yodeling.local " de votre navigateur. Vous devriez être prêt à partir.


3 commentaires

J'ai eu la même question, et c'est exactement le genre de réponse que je cherchais. Malheureusement, je ne peux pas faire fonctionner ça. Les commandes semblent fonctionner, mais CAT / ETC / HOSTS La nouvelle ligne n'a pas été écrite. Des pensées supplémentaires?


Je pense que j'ai élaboré ce que mon problème était. Je vais le poster comme une nouvelle réponse, car il est un peu trop à faire dans un commentaire.


J'adorerais l'obtenir pour que foo.dev sur mon simulateur frappe localhost: 3000 sur mon Mac. Avoir un sens?



7
votes

J'avais le même problème. @ La solution d'Emmby sonnait comme si cela devrait faire exactement ce dont j'avais besoin, mais étrangement, cela ne semblait pas marcher. Les commandes ont couru, mais en regardant le fichier d'hôtes après avoir montré qu'il n'était pas réellement mis à jour.

Mais j'ai fait un peu plus de recherches, et j'ai élaboré ce que le problème était. P>

Le problème de base que j'avais eu était que le système d'exploitation du périphérique émulé a déjà pris la hausse de 100% du stockage disponible. Les modifications n'étaient pas écrites dans le fichier d'hôtes. Cependant, aucun message d'erreur n'est donné non plus. P>

Je suppose que la raison @emmby n'avait pas ce problème est que le problème varie en fonction de la version d'Android que vous avez mise sur l'émulateur; Certaines versions peuvent vous donner un espace libre pour travailler avec. p>

Si vous avez ce problème, la solution à ce sujet est de démarrer l'émulateur avec plus de stockage. Cela peut être fait avec l'argument Code> -Partition-Taille Code> pour la commande code> Emulator code>, comme: p> xxx pré>

vous pouvez Ensuite, utilisez la commande adb -e shell code> et éditer le fichier selon la réponse de @ emmby. p>

Toutefois, si éditer le fichier de la coque est une douleur, adb vous donne également la possibilité de le copier à partir de l'émulateur à votre système d'exploitation hôte, modifiez-le localement et de la copier à nouveau. Il traite également du remontage. Vous le feriez comme ceci: p> xxx pré>

puis modifiez-le dans votre éditeur préféré. P>

Remonter ensuite l'émulateur en mode lecture / écriture et copier le Fichier Retour: P>

adb remount
adb push C:\wherever\you\saved\hosts /system/etc/hosts


0 commentaires

2
votes

Selon Android Docs Vous pouvez accéder à votre système 127.0.0.1 IP utilisant 10.0.2.2 sur votre émulateur qui est un alias spécial à votre interface de bouclage hôte.


2 commentaires

C'est en fait 10.0.2.2, pas 10.0.0.2


Ouais mon mauvais. Édité la réponse. Merci!



2
votes

Suivez les instructions sur les deux liens suivants:

http://www.codingonstilts.com/ 2012/04 / android-émulateur-host-hosts-file-entrée.html (Assurez-vous de faire attention aux onglets entre l'adresse IP et le nom d'hôte et la nouvelle ligne au bas du fichier) J'ai fait une "[SDKLocation] / Tools-Tools / System / System / System / System / hosts / hosts whahostFilename" Pour voir le format du fichier hostile d'origine tout d'abord, puis utilisez-le pour le repasser.

et ensuite: http://www.codingonstilts.com /2012/06/sync-os-x-hosts-file-a-android.html

fonctionne pour moi - bonne chance !!


0 commentaires