2011-08-29 9 views
8

Moja maszyna programująca jest jednocześnie podłączona do dwóch różnych sieci. Jedna to ethernet (eth0), a druga to WiFi (en1). W tej sytuacji emulator Androida wydaje się zawsze chcieć dotrzeć do sieci na eth0. Czy po uruchomieniu emulatora z wiersza komend można wybrać opcję korzystania z określonego interfejsu sieciowego na komputerze programistycznym (en1 w moim przypadku)?Jak określić, jakiego interfejsu sieciowego powinien używać emulator Androida na moim komputerze programującym?

Wygląda na to, że powinno być to możliwe dzięki argumentom, które można przekazać do -qemu flagę. Jednak bieżąca wersja emulatora nie zostanie uruchomiona, gdy użyjesz tej flagi.

Odpowiedz

5

Jeśli komunikujesz się tylko z określonym adresem lub podsiecią, możesz ustawić odpowiednią trasę na hoście za pomocą polecenia dodać komendę. Składnia różni się nieznacznie dla Windows i Linux:

Linux

route add -net target-ip maska: 255.255.255.0 metryczny 1 gw en1

Okna

route add target-ip maska ​​255.255.255.0 en1-gw-adres metryczny 1 -p

Użytkownik może chcieć dostosować wartość maski sieci (255.255.255.0) do swoich potrzeb.

+0

Szukam sposobu na przekierowanie wszystkich żądań HTTP na dowolny możliwy adres z emulatora Androida na pl1. – elevine

+0

Następnie możesz użyć darmowego serwera proxy. Skonfiguruj emulator tak, aby używał proxy z opcją _http-proxy_ i skonfiguruj trasę przez en1 dla ip serwera proxy. – mattlaabs

+0

To dobry pomysł. Czy możesz zaproponować serwer proxy, który będzie łatwy do skonfigurowania? – elevine

1

IMHO to nie jest możliwe, ponieważ emulator korzysta z wirtualnego routera zamiast fizycznego interfejsu sieciowego komputera rozwoju

przyjrzeć się bliżej na ten link - istnieje pewne szczegółowe informacje o tym
http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking

+1

Jak zatem ten router wirtualny decyduje, który interfejs sieciowy ma być używany na komputerze programującym? Innymi słowy, Po uruchomieniu emulatora można określić proxy za pomocą przełącznika -http-proxy. Nie widzę podobnej opcji wyboru interfejsu sieciowego, ale spodziewam się, że będzie istnieć. – elevine

+0

Nie jestem całkiem pewien, ale myślę, że ma to coś wspólnego ze sposobem definiowania routingu na PC – DonGru

+0

Wygląda na to, że powinno to być możliwe poprzez argumenty, które można przekazać do flagi -qemu. Jednak bieżąca wersja emulatora nie zostanie uruchomiona, gdy użyjesz tej flagi. – elevine

Powiązane problemy