Wie kann ich lokal gehostete Projekte mit dem Android SDK-Emulator betrachten?

7

Ich entwickle alle meine Sites auf einem OS 10.5.8 Server mit PHP und MySQL, und ich habe meine /etc/hosts und httpd.conf Dateien so konfiguriert, dass meine Site unter example.dev in jedem Browser auf diesem Rechner angezeigt wird / p>

Ich habe vor kurzem Androids Software-Entwicklungskit installiert, mit dem ich Stylesheets für das mobile Webkit entwickeln und testen möchte - aber ich kann nicht auf meine lokal gehosteten Projekte im Android-Browser zugreifen.

Dies ist sinnvoll, da es das gesamte Android-Betriebssystem emuliert, aber gibt es eine Problemumgehung? Oder kann ich nur Projekte testen, die sich irgendwo im Internet befinden, vielleicht in einem versteckten Verzeichnis?

Jemand hat vorgeschlagen, dass ich meine /etc/resolv.conf -Datei bearbeite, aber ich weiß nicht, wie ich eine lokal gehostete Domain in resolv.conf richtig formatiere - ich habe versucht, die folgenden Varianten zu testen, und nichts funktioniert:

%Vor%

Oder ...

%Vor%

In meiner hosts-Datei ist es wie folgt eingerichtet:

%Vor%     
John Stephens 24.08.2009, 02:34
quelle

5 Antworten

13

Sie sollten die IP-Adresse Ihres Macs in der URL des Android-Emulators verwenden können und so auf Ihre Websites zugreifen können. Stellen Sie sicher, dass das Web Sharing unter Sharing in den Systemeinstellungen aktiviert ist und dass Ihre Firewall die Adresse nicht blockiert.

Alternativ können Sie die IP-Adresse des virtuellen Hosts (10.0.2.2) verwenden. Dies wird immer Ihrem Host-Mac zugeordnet, wenn Sie den Emulator ausführen.

Wenn Sie aus irgendeinem Grund keine IP-Adressen in Ihren URLs verwenden möchten, können Sie die IP-Adresse Ihres Macs jedem beliebigen Namen zuordnen, indem Sie in Ihrem Emulator die Datei / etc / hosts ändern. Um dies zu tun, müssen Sie zunächst das Dateisystem read-write machen und dann die IP-Adresse Ihres Macs und den von Ihnen gewünschten Hostnamen zu / etc / hosts hinzufügen:

%Vor%

Dann greifen Sie in Ihrem Browser auf " Ссылка " zu. Du solltest gut gehen.

    
emmby 24.08.2009 18:36
quelle
7

Ich hatte das gleiche Problem. @ Emmbys Lösung klang so, als sollte sie genau das tun, was ich brauchte, aber seltsamerweise schien es nicht zu funktionieren. Die Befehle liefen, aber die Hosts-Datei später zu sehen, zeigte, dass sie nicht aktualisiert wurde.

Aber ich habe ein bisschen mehr Nachforschungen angestellt, und ich habe herausgefunden, was das Problem ist.

Das Kernproblem, das ich hatte, war, dass das Betriebssystem des emulierten Geräts bereits 100% des verfügbaren Speichers belegt hat, sodass die Änderungen nicht in die hosts-Datei geschrieben wurden. Es wurde jedoch keine Fehlermeldung ausgegeben.

Meine Vermutung ist, dass der Grund dafür, dass @ emmby dieses Problem nicht hatte, darin besteht, dass das Problem von der Version von Android abhängt, die Sie auf den Emulator stellen. Einige Versionen geben Ihnen möglicherweise etwas Freiraum, mit dem Sie arbeiten können.

Wenn Sie dieses Problem haben, besteht die Lösung darin, den Emulator mit mehr Speicher zu starten. Dies kann mit dem Argument -partition-size für den Befehl emulator wie folgt geschehen:

%Vor%

Sie können dann den Befehl adb -e shell verwenden und die Datei entsprechend der Antwort von @ emmby bearbeiten.

Wenn jedoch das Bearbeiten der Datei aus der Shell ein Problem darstellt, bietet adb auch die Möglichkeit, sie vom Emulator auf das Host-Betriebssystem zu kopieren, lokal zu bearbeiten und wieder zu kopieren. Es befasst sich auch mit dem Remount. Du würdest es so machen:

%Vor%

Bearbeiten Sie es anschließend in Ihrem bevorzugten Editor.

Richte dann den Emulator erneut in den Lese- / Schreibmodus ein und kopiere die Datei zurück:

%Vor%

Beachten Sie, dass der Emulator beim Neustart immer auf den Standardzustand zurückgesetzt wird. Dies könnte eine bessere Lösung sein, da Sie die bearbeitete Datei lokal behalten können, sodass Sie die adb pull - und Bearbeitungsschritte nicht wiederholen müssen jedes Mal; Sie können den Emulator einfach starten, machen Sie remount und push , und Sie sind im Geschäft.

Ich hoffe, das hilft.

    
Spudley 15.07.2011 12:04
quelle
2

Ich habe mit einem ähnlichen Problem gearbeitet, indem ich die Computer-IP-Adresse im lokalen Netzwerk verwendet habe.

    
JaanusSiim 24.08.2009 04:34
quelle
2

Folgen Sie den Anweisungen auf den folgenden zwei Links:

Ссылка (Achten Sie darauf, auf die Tabs zwischen zu achten die IP-Adresse und der Hostname und der Zeilenumbruch am Ende der Datei) Ich habe eine "[SDKLOCATION] / platform-tools / adb ziehen / system / etc / hosts WHATEVERHOSTFILENAME", um das Format der ursprünglichen hostfile zuerst sehen und dann verwenden, um es zurück zu schieben.

Und dann: Ссылка

Funktioniert für mich - viel Glück !!

    
BDuell 13.10.2012 08:06
quelle
1

Gemäß android docs können Sie auf Ihr System 127.0.0.1 IP mit 10.0.2.2 zugreifen auf Ihrem Emulator, der ein spezieller Alias ​​für Ihre Host-Loopback-Schnittstelle ist.

    
Vikas Gulati 25.04.2012 14:24
quelle

Tags und Links