Unbekannter Host - Frage zur Netzwerkkonfiguration des Emulators

Ich habe ein Problem, bei dem ich Hilfe benötige. Ich habe den Android-Emulator mit Eclipse Helios & ADTv20 ausgeführt. Mit dem Emulator komme ich ins Internet. (google.com) Allerdings kann ich auf keine lokalen Domains zugreifen. Ich habe versucht, -dns-server mit XXXX zu unserem lokalen DNS zu verwenden, aber ohne Erfolg. Ich habe auch die /etc/hosts-Datei mit ADB-Push/Pull geändert, um Einträge manuell hinzuzufügen, aber es funktioniert immer noch nicht. Ich kann den PING-Befehl oder den NSLOOKUP-Befehl nicht mit ADB SHELL verwenden. Ich habe versucht, eine benutzerdefinierte App mit DefaultHttpClient bereitzustellen und die Hosteigenschaften ebenfalls statisch festzulegen. ..Ich erhalte "UnknownHostException" oder "onReceivedError -2" "Die URL konnte nicht gefunden werden". Ich habe bestätigt, dass ich die INTERNET-Berechtigung habe.

Kann mich bitte jemand durch die Netzwerkkonfiguration für meinen Emulator führen, damit ich meine lokale Domäne auflösen kann?

Die SDK-Version ist 2.3.3 API-Ebene 10

Was vermisse ich? Vielen Dank im Voraus.

Willkommen bei Android-Enthusiasten! Bitte lesen Sie die häufig gestellten Fragen . Entwicklungsfragen können auf stackoverflow.com gestellt (und beantwortet) werden .
@VC'ers: Ich finde diese Frage hier legitim. Das Problem ist das eines Power-Users, der gerade entwickelt. Das Kernproblem ist jedoch der Emulator und GB mit einigen lokalen Routing-/Netzwerkproblemen. Ich hatte bereits ein ähnliches Problem (adt wird aufgrund von Proxy nicht aktualisiert).
Ich entschuldige mich dafür, dass ich im falschen Forum gepostet habe ... Ich habe fast den ganzen Tag nach Antworten gesucht und bin schließlich hier stehen geblieben. Bitte zögern Sie nicht, meinen Beitrag zu entfernen oder ihn nach Stackoverflow zu verschieben.

Antworten (2)

Aus den Android-Emulator-Dokumenten:

Beim Start liest der Emulator die Liste der DNS-Server, die Ihr System derzeit verwendet. Anschließend speichert er die IP-Adressen von bis zu vier Servern in dieser Liste und richtet bei Bedarf Aliase für sie auf den emulierten Adressen 10.0.2.3, 10.0.2.4, 10.0.2.5 und 10.0.2.6 ein.

Quelle: http://developer.android.com/tools/devices/emulator.html

Wenn Sie also mehr als 4 DNS-Server konfiguriert haben, ist es möglich, dass der Emulator nichts davon weiß. Ich sehe, dass Sie das Argument -dns-server in der Befehlszeile übergeben. Können Sie also die Befehlszeile und alle Argumente, die Sie verwenden, einfügen, um Ihren Emulator zu starten?

einige hinweise:

  • Der Emulator (es ist Qemu!) führt tatsächlich NAT für den Client aus und enthält eine winzige DHCP-Serverimplementierung. Das eigentliche Problem muss hier liegen.
    Versuchen Sie, es neu zu konfigurieren, um den Client-Datenverkehr zu „überbrücken“ (suchen Sie nach „qemu bridging + your OS“ oder „Android emulator bridging“ usw.)

  • Schauen Sie sich IP & Routing conf:
    adb Shell an, dann 'ip link', 'ip addr', 'ip route', wenn es vor und nach dem Bridging-Setup mit Ihrem realen Netzwerk übereinstimmt

Danke, seltsamerweise habe ich versucht, ein anderes AVD mit einer neueren SDK-Version (4.0.3, API 15) zu verwenden, und hatte einigen Erfolg. Ich musste die modifizierte Hosts-Datei immer noch auf /etc/system "pushen", aber der Browser konnte die Hosts auflösen. Ich werde meine Untersuchung fortsetzen und versuchen, eine schlüssige Ursache für das Problem zu finden. Nochmals vielen Dank für Ihr Feedback.