webentwicklung-frage-antwort-db.com.de

Herstellen einer Verbindung zu meinem http: // localhost-Webserver mit dem Android Emulator in Eclipse

Was kann ich im Android Emulator von Eclipse tun, um eine Verbindung zu meiner localhost-Webserverseite unter http://localhost oder http://127.0.0.1 herzustellen?

Ich habe es versucht, aber der Emulator nimmt meine Anfrage immer noch wie eine Google-Suche nach localhost an, oder schlimmer noch, es heißt, dass die Seite nicht gefunden wurde, während mein Webserver normal ausgeführt wird.

424

Der localhost bezieht sich auf das Gerät, auf dem der Code ausgeführt wird, in diesem Fall auf den Emulator.

Wenn Sie sich auf den Computer beziehen möchten, auf dem der Simulator Android ausgeführt wird, verwenden Sie stattdessen die IP-Adresse 10.0.2.2. Sie können mehr von hier lesen.

728

Verwenden Sie 10.0.2.2 für Standard-AVD und 10.0.3.2 für genymotion .

147
qgicup

Ich habe 10.0.2.2 erfolgreich auf meinem Heimcomputer verwendet, aber bei der Arbeit hat es nicht funktioniert. Nach stundenlangem Herumalbern habe ich mit dem Android Virtual Device (AVD) -Manager eine neue Emulatorinstanz erstellt, und schließlich hat die Version 10.0.2.2 funktioniert.

Ich weiß nicht, was mit der anderen Emulatorinstanz falsch war (die Plattform war dieselbe), aber wenn Sie feststellen, dass 10.0.2.2 nicht funktioniert, versuchen Sie, eine neue Emulatorinstanz zu erstellen.

28

Versuchen Sie http://10.0.2.2:8080/, wobei 8080 Ihre Portnummer ist. Es hat perfekt funktioniert. Wenn Sie nur 10.0.2.2 versuchen, funktioniert es nicht. Sie müssen die Portnummer hinzufügen. Wenn Microsoft IIS installiert wurde, deaktivieren Sie diese Funktion in der Systemsteuerung (falls Sie ein Windows-Betriebssystem verwenden) und versuchen Sie es dann wie oben beschrieben.

15
SAMBA

laut Dokumentation:

10.0.2.2 - Spezieller Alias ​​für Ihre Host-Loopback-Schnittstelle (d. H. 127.0.0.1 auf Ihrem Entwicklungscomputer)

check Emulator Networking für weitere Tricks zum Emulator Networking.

7
Rahul Tiwari

Für mein Mac OS Mountain Lion Gerät:

http: // 10.0.2.2:8888

Funktioniert perfekt!

3
Guest

Ich musste die System-Host-IP-Adresse für den Emulator "Nox App Player" herausfinden. Hier ist, wie ich herausgefunden habe, dass es 172.17.100.2 ist.

  1. Installierter Android Terminal Emulator aus dem App Store
  2. Setzen Sie den Befehl ip link show ab, um alle Netzwerkschnittstellen anzuzeigen. Von besonderem Interesse war das eth1-Interface
  3. Gib den Befehl ifconfig eth1 aus und zeige net als 172.17.100.15/255.255.255.0
  4. Beginnen Sie mit dem Pingen von Adressen, die bei 172.17.100.1 beginnen, und erzielen Sie einen Treffer bei `172.17.100.2 '. Ich bin mir nicht sicher, ob eine Firewall stören würde, aber in meinem Fall nicht

Vielleicht kann dies jemand anderem helfen, es für andere Emulatoren herauszufinden.

1
Hugh Jeffner

Wenn Sie sich in Windows befinden, können Sie zum Symbolsystem gehen und ipconfig schreiben und überprüfen, welche IP zugewiesen ist zu Ihrer Maschine.

1
Ricardo

Ich weiß nicht, vielleicht ist dieses Thema bereits gelöst, aber als ich kürzlich versucht habe, dies auf einem Windows-Computer zu tun, hatte ich viele Schwierigkeiten. Meine Lösung war also wirklich einfach. Ich habe diese Software heruntergeladen http://www.lenzg.net/rinetd/rinetd.html befolgte die Anweisungen zum Herstellen der Portweiterleitung und stellte dann erfolgreich eine Verbindung zu meinem Android Gerät her mache asp.net localhost projekt und stoppe an meinem brechpunkt.

meine rinetd.conf Datei:

10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82

Wobei 10.1.1.20 meine localhost IP ist, 82 und 1234 meine Ports. Außerdem habe ich eine Bath-Datei für ein einfaches Leben erstellt. Meine Badekartei:

rinetd.exe -c rinetd.conf

Starten Sie nach dem Start dieses Programms Ihren aps.net-Server und versuchen Sie, von einem Android Gerät oder einem beliebigen Gerät in Ihrem lokalen Netzwerk aus darauf zuzugreifen (z. B. Computer ABC startet PuTTY). Sie werden sehen, dass alles funktioniert. Sie müssen nicht zur Router-Einstellung gehen oder andere komplizierte Dinge tun. Ich hoffe, dies wird dir helfen. Genießen.

0

Eine andere Problemumgehung besteht darin, eine kostenlose Domain von no-ip.org zu erhalten und auf Ihre lokale IP-Adresse zu verweisen. Anstatt http://localhost/yourwebservice zu verwenden, können Sie dann http://yourdomain.no-ip.org/yourwebservice versuchen.

0
Astri