2010-06-09 2 views
11

Ich möchte auf einen Webdienst zugreifen, der von einem der Computer in meinem LAN vom Android-Emulator bereitgestellt wird.Gibt es eine einfache Möglichkeit, den Android-Emulator einzurichten, um auf das LAN des Host-Rechners zuzugreifen?

Wenn der Dienst auf demselben Computer ausgeführt wurde, auf dem der Emulator ausgeführt wird (Host genannt), könnte ich eine Netzwerkumleitung hinzufügen und auf die 10.0.2.2 (Host-Loopback-Schnittstelle im Emulator) mit dem richtigen Port zugreifen.

Allerdings läuft es auf einem anderen Rechner im LAN. Ich schätze, ich könnte eine zusätzliche Umleitung auf dem Host hinzufügen, zusätzlich zu dem oben genannten (müsste allerdings mit iptables kämpfen ...), aber gibt es eine einfachere Lösung?

Antwort

5

Nun, es funktioniert einfach (TM).

im Android Emulator Handbuch, das ich vor dem Test gelesen hatte (ich versuche vor, Dinge zu tun RTFM) das heißt:

Jede Instanz des Emulator läuft hinter einem virtuellen Router/Firewall-Dienst, der es isoliert von den Netzwerkschnittstellen und Einstellungen Ihrer Entwicklungsmaschine und vom Internet. Ein emuliertes Gerät kann Ihren Entwicklungscomputer oder andere Emulatorinstanzen im Netzwerk nicht sehen. Stattdessen sieht es nur, dass es über Ethernet mit einem Router/Firewall verbunden ist.

Das hat mich denken lassen, dass es nicht auf mein LAN zugreifen konnte. Ich habe mich geirrt, nur die IP des Servers in meinem LAN hinzuzufügen erlaubte mir den Zugriff vom Emulator aus.

+11

Wie hast du das genauer gemacht? Das macht keinen Sinn für mich ... – Dediqated

+2

@Dediqated: Ich denke, Longfield bedeutet einfach, dass Sie Maschinen im LAN durch ihre normale IP-Adresse aus dem Emulator zielen können. In der Praxis gibt es jedoch Einschränkungen, die hier [http://developer.android.com/tools/devices/emulator.html#networkinglimitations] angegeben sind. insbesondere: Firewalls (Programm auf Host oder Gerät, mit dem der Host verbunden ist) können stören, IGMP und Multicast werden derzeit nicht unterstützt. – mklement0

0

Sie könnten ein tatsächliches Android-Gerät bekommen und verbinden Sie es mit dem LAN (ich habe dies getan).

Wie verbinden Sie sich mit dem Host-Rechner? durch HTML? Denn wenn Ihre App eine feste Verbindung zum Gerät benötigt, dann ist es keine sehr gute Lösung für ein Mobilgerät Gerät.

+0

wenn es html sehe ich kein Problem. – mtmurdock

+0

Ja, ich habe das bereits mit meinem Android-Gerät getestet und es funktioniert. Es wäre aber auch schön, das mit dem Emulator machen zu können. Was meinst du mit harter Linie? Es ist nicht HTML, aber ein Client befiehlt Schnittstelle auf TCP, also ziemlich ähnlich. – Longfield

Verwandte Themen