Jak podłączyć emulator Androida do Internetu


272

Jak mogę podłączyć mój emulator Androida do Internetu, np. Aby korzystać z przeglądarki? Znalazłem wiele porad na temat tego, co zrobić, gdy jesteś podłączony przez proxy, ale tak nie jest tutaj, moja maszyna (Windows 7) jest bezpośrednio podłączona do routera.


1
Miałem ustawienia dns mojej karty sieciowej ręcznie ustawione na mój router na 192.168.1.1, ale kiedy zmieniłem na auto, działało.
rwilson04,

Miałem ten problem, kiedy uruchomiłem emulator, zanim włączyłem Wi-Fi na moim komputerze. Rozwiązaniem było włączenie Wi-Fi na moim zewnętrznym Co, a następnie zatrzymanie / uruchomienie emulatora.
zakaz geoinżynierii


Odpowiedzi:


289

Myślę, że niektóre odpowiedzi mogły rozwiązać ten problem, choć skośnie, ale oto, co zadziałało dla mnie.

Zakładając, że problem występuje, gdy jesteś w sieci bezprzewodowej i masz zainstalowaną kartę LAN, problem polega na tym, że emulator próbuje uzyskać ustawienia DNS z tej karty LAN. Nie stanowi problemu, gdy jesteś podłączony przez tę sieć LAN, ale całkowicie bezużyteczne, jeśli masz połączenie bezprzewodowe. Zauważyłem to, kiedy byłem na swoim laptopie.

Jak to naprawić? Proste: wyłącz kartę LAN. Naprawdę. Po prostu przejdź do połączeń sieciowych, znajdź kartę LAN, kliknij ją prawym przyciskiem myszy i wybierz opcję wyłącz. Teraz wypróbuj swój emulator. Jeśli jesteś taki jak ja, nagle ... działa!


2
Tak, to był mój scenariusz, korzystam z sieci bezprzewodowej na Win7, więc zamknąłem emulator, wyłączyłem kartę LAN i uruchomiłem emulator ponownie i zadziałało.
Mina Samy

2
W rzeczywistości emulator przyjmuje adapter o najwyższym priorytecie, więc przełączenie priorytetu adapterów (bezprzewodowych na najwyższy) powinno również działać i nie będzie wymagać całkowitego wyłączenia adaptera LAN. Dziękuję za odpowiedź, ale uratował mnie ból głowy
thomaux

1
@Anzeo: i jak zmienić kolejność w systemie Windows?
Martin

1
Sprawdź ustawienia zapory - jak wspomina @ moon_walker333 w tym wątku. AVG blokował moją aplikację.
ccbunney,

1
Wielkie dzięki - spędziłem godziny próbując to naprawić i wreszcie udało mi się go uruchomić, kiedy wyłączyłem moją kartę sieciową. Do Twojej wiadomości, jak zmienić priorytet karty sieciowej: eightforums.com/tutorials/…
znelson

84

Jeśli korzystasz z komputera Mac - spróbuj tego -

  1. Ikona Apple GoTo -> Preferencje systemowe -> Sieć
  2. Kliknij ikonę koła zębatego na i wybierz „Ustaw zlecenie serwisowe”
  3. Przenieś aktywny interfejs przed inny interfejs.
  4. Uruchom ponownie emulator Androida.

4
+1: jest to zdecydowanie najbardziej pomocna odpowiedź dla osób na komputerze Mac.
sherb,

5
Co oznacza krok 3? Ustawiłem urządzenie wirtualne pod Wi-Fi, a komputer sam się wyłączył.
Iammesol,

3
@Iammesol, uważam, że krok 3 oznacza przeciągnięcie nazwy aktywnego połączenia (powiedz wifi / ethernet) na górę. Przynajmniej mi się udało.
Himel Nag Rana,

62

Oto odpowiedź dla programistów korzystających z Android Studio .

System operacyjny: Mac OS X El Capitan

IDE: Android Studio 2.2

Z niektórych powodów nie byłem w stanie uzyskać dostępu do Internetu przez AVD w pracy (prawdopodobnie problemy z proxy lub konfiguracją sieci). Sztuczka polegała na uruchomieniu AVD w wierszu poleceń i ręcznym podaniu publicznego DNS DNS Google 8.8.8.8.

W swoim terminalu przejdź do narzędzi do tworzenia folderów na Android SDK, aby znaleźć program „emulator”:

cd ~/Library/Android/sdk/tools

Następnie pobierz nazwę swoich AVD:

emulator -list-avds

Zwróci ci coś takiego:

Android_Wear_Round_API_23
Nexus_10_API_22
Nexus_5X_API_22
Nexus_5X_API_24
Nexus_9_API_24

Następnie uruchom AVD, który chcesz, postępując zgodnie z następującymi instrukcjami:

emulator -avd NameOfYourDevice -dns-server 8.8.8.8

Twój AVD jest uruchomiony i powinieneś być w stanie korzystać z Internetu.


To działało dla mnie, ponieważ mój komputer Mac stracił ustawienie DNS. To nie wina emulatora. To ustawienie DNS jest pobierane z komputera Mac. Ale ten post pomógł mi to rozgryźć.
ezaspi

Stworzyłem prosty skrypt, aby to zrobić, możesz to sprawdzić na stronie: gist.github.com/brotoo25/246d8767982ed74ce98ed165ea099a5d
Brotoo25

57

Moja platforma: Mac OS 10.6.4 Eclipse: 3.6

Miałem podobny problem, gdy tło mojej aplikacji mapy było szare (bez kafelków), a przeglądarka nie mogła połączyć się z Internetem.

W Eclipse poszedłem do Run Configurations -> Target i dodał „ -dns-server X.X.X.X”, a potem wszystko działało dobrze. (oczywiście X.X.X.Xbył to adres IP mojego serwera DNS).


6
Dodałem „-dns-server XXXX” do pola „Dodatkowe opcje wiersza poleceń emulatora”
Jeremy Kie

5
+1 To działało dla mnie. Miałem problemy podczas pobytu w sieci LAN. Właśnie dodałem publiczną DNIS 8.8.8.8 i to rozwiązało! Wielkie dzięki!
J.Hendrix,

Niesamowite, w moim przypadku nie zostało odebrane na serwerze dns, ponieważ używamy 10.0.0.0-255 jako naszej podsieci, musiałem zrobić -dns-server 10.0.0.1 (także Windows 7)
Thomas Dignan

3
genialne dzięki. Dla każdego, kto (jak ja!) Nie może znaleźć pola „Dodatkowe opcje wiersza poleceń emulatora”, spróbuj przeciągnąć dolną krawędź okna „Cel” w dół. To pole zostało dla mnie ukryte bez opinii, które sugerowałyby, że tak było!
Chris Knight

Użyłem DNS Google 8.8.8.8 i to samo podejście działało również dla mnie na Ubuntu 12.04, Eclipse Juno.
pm_labs,

25

Aby korzystać z Internetu przez proxy na emulatorze, spróbuj wykonać następujące kroki: To zadziałało dla mnie:

Przejdź do ustawień-> Sieci zwykłe i bezprzewodowe-> sieci komórkowe-> Nazwy punktów dostępu. Naciśnij przycisk menu. pojawi się menu opcji.

z menu opcji wybierz Nowy APN.

Kliknij na nazwę. podaj nazwę, aby apn powiedzieć My APN.

Kliknij APN. Wpisz www.

Kliknij na Proxy. wprowadź adres IP swojego serwera proxy. można go uzyskać z menu opcji internetowych przeglądarek internetowych.

kliknij Port. wpisz numer portu w moim przypadku był to 8080. możesz go uzyskać z menu opcji internetowych przeglądarek internetowych.

Kliknij nazwę użytkownika. podaj nazwę użytkownika w formacie domena \ nazwa użytkownika. ogólnie jest to login twojego systemu.

Kliknij hasło. podaj hasło systemowe.

naciśnij ponownie przycisk menu. pojawi się menu opcji.

naciśnij Zapisz i spróbuj otworzyć przeglądarkę. Myślę, że to ci pomogło?


próbowałem, ale daje błąd Wystąpił błąd sieci. nawet mój systemowy internet działa dobrze
Sandeep vashisth

3
Jest to jeszcze łatwiejsze, jeśli masz uruchomiony lokalny serwer proxy, który przekazuje ruch do „oficjalnego” serwera, który wymaga uwierzytelnienia. W takim przypadku użyj 10.0.2.2jako adresu IP serwera proxy (maszyny hosta) i skonfiguruj zewnętrzny serwer proxy (np. SquidMan ) według własnych upodobań.
Thomas Keller,

nie działa dla mnie .. Co wprowadzić wartość dla VPN.?
Developer Desk

17
  1. kliknij prawym przyciskiem myszy Projekt w Eclipse
  2. wybierz Uruchom jako -> Uruchom konfiguracje ...
  3. wybierz aplikację na Androida, a następnie wybierz zakładkę „target”
  4. Szukasz „dodatkowych opcji wiersza polecenia emulatora” i umieść ten wiersz polecenia w polu tekstowym

    -http-proxy http: // <nazwa użytkownika>: <hasło> @ <nazwa hosta>: <port>


12

Istnieją różne rozwiązania tego problemu. Jedną z nich pokażę ci na moim eksperymencie i wynikach zaobserwowanych na wynikach przy użyciu ostatniego studia Android i obrazów AVD pobranych w 2017 roku.

  1. Pierwszą rzeczą, którą musisz zrobić, to uruchomić AVD ze studia Android. (w moim przypadku wybieram obraz NEXUSAPI25 dla Androida 7.1)

  2. Idź do Ustawienia -> Wirless i sieć -> Sieć komórkowa -> Punkty dostępu -> (+) naciśnij dodaj -> wprowadź następujące informacje, jeśli nie masz proxy NTLM lub proxy w ogóle (oznacza to, że masz bezpośrednie połączenie)

    za. dodaj nazwę apn jako myAPN b. dodaj serwer apn => www c. zapisz i spróbuj przeglądać internet.

jeśli to nie działa, dodaj „ANDROID_SDK_ROOT” do zmiennej środowiskowej

Następnie uruchom AVD za pomocą polecenia emulatora w następujący sposób

emulator -avd Nexus25 -dns-server 8.8.8.8
  1. Dla tych, którzy używają serwerów proxy NTLM, pokażę Ci, jak to dla mnie działa.

  2. dodaj swoją ścieżkę Android_sdk_root do zmiennej środowiskowej. To sprawia, że ​​kod wiersza poleceń jest odczytywany jak przy użyciu nazw AVD i tak dalej.

  3. Uruchom emulator za pomocą następującego polecenia

> emulator -avd Nexus_5X_API_25 -http-proxy http: // nazwa użytkownika: hasło @ ipaddress: port

WCHODZIĆ

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


1
-dns-serverrozwiązałem to. Czy można to ustawić w interfejsie użytkownika?
serv-inc,

11

Czy próbowałeś uruchomić emulator z uprawnieniami administratora ? To działało dla mnie, używam Windows 7 64bit)


Używam również Windows 7 64bit. Próbowałem uruchomić Eclipse jako admin, a AVD Manager jako admin i żadne z nich nie działało. Czy muszę uruchamiać go z wiersza poleceń jako administrator?
Danny

Natknąłem się na ten sam problem, działając z uprawnieniami administratora, rozwiązałem mój problem w systemie Windows 10.
Abdul Mannan

10

W moim przypadku po prostu musiałem uruchomić urządzenie wirtualne z systemem Android (AVD) z „Android SDK and AVD Manager” i działało


1
Tak, to zadziałało dla mnie .. Właśnie uruchamiałem aplikację i doprowadziło mnie to do uruchomienia AVD ...
Swapnil Kale

10

Jeśli korzystasz z proxy w Menedżerze SDK, w obszarze Tools -> OptionsNIE konfiguruj ustawień proxy. Po uruchomieniu z wiersza poleceń dodaj -http-proxy:

emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT

Pracował dla mnie.


To jedyne rozwiązanie, które działało dla mnie. Pamiętaj, że po wyłączeniu konfiguracji proxy w ustawieniach Menedżera SDK nie będziesz mieć dostępu do aktualizacji SDK, więc będziesz musiał ponownie włączyć ustawienia proxy podczas budowania aplikacji.
AlanKley,

czy istnieje plik konfiguracji, który zapisuje konfigurację proxy, więc możemy uruchomić go z menedżera AVD? nie z wiersza poleceń?
projo

8

Ten problem pojawia się przy pierwszym uruchomieniu symulatora, rozwiązałem go, ustawiając za pomocą serwera dns

Library/Android/sdk/platform-tools/adb shell getprop net.dns1

pobierz bieżący serwer dns symulatora 10.0.2.3

Następnie ustaw go na moim serwerze LAN dns

Library/Android/sdk/platform-tools/adb shell setprop net.dns1 192.168.1.1

Działa na Androidzie 25. ten należy zaakceptować odpowiedź!
James Yang,

7

Też doświadczyłem tego samego problemu. Najprostszym rozwiązaniem, które znalazłem, jest:

  • Przejdź do folderu emulatora Androida \ Sdk \ i otwórz wiersz polecenia.
  • Wpisz, emulator -list-avdsaby zobaczyć dostępne nazwy emulatorów.
  • Wpisz emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8polecenie i naciśnij klawisz Enter.

6

Miałem podobny problem. Zainstalowałem aplikację, która wymagała pozwolenia na INTERNET (i wykorzystałem ją) i nagle działała.

Chłopaki, sprawdźcie również, czy nie ma gdzieś połączenia przez VPN, ponieważ może to również zakłócać połączenie internetowe.

blacharnia


6

W Eclipse przejdź do DDMS

w DDMS wybierz Kontrola emulatora , która zawiera Status telefonii w statusie telefonii zawiera dane -> wybierz Strona główna , spowoduje to włączenie połączenia internetowego, jeśli chcesz wyłączyć połączenie internetowe dla Emulatora, to ---> wybierz Brak

(Uwaga: Umożliwi to połączenia internetowe tylko wtedy, gdy na komputerze stacjonarnym / laptopie, na którym uruchomiono zaćmienie, masz aktywne połączenia internetowe.)


4

Po przeczytaniu tego postanowiłem spojrzeć na moje „karty sieciowe”. Umieszczam to w cudzysłowie, ponieważ jak wielu prowadzę wirtualne karty sieciowe dla urządzeń takich jak Hamachi i Virtual Box. Po wyłączeniu Hamachi mogę korzystać z Internetu. Domyślam się, że emulator wybiera pierwszą dostępną nicość, niezależnie od tego, czy jest ona wirtualna. Teraz, aby dowiedzieć się, czy mogę zmienić porządek w moim ładnym zamówieniu bez niszczenia mojego pudełka.

Windows 7 32bit


4

Moje preferencje dotyczące zamówienia usługi były prawidłowe (Wi-Fi było pierwsze), ale nadal nie można się połączyć.

Odpowiedzią było wyłączenie mostu piorunów:

Preferencje systemowe> Sieć> Most Thunderbolt

Następnie wyłącz opcję Konfiguruj IPv4 i zastosuj zmiany.

Nie trzeba wkręcać się z punktami dostępu w emulatorze.


To samo tutaj. Musiałem ustawić wszystkie usługi na „Konfiguruj IPv4: wyłączone” i pozostawić włączone WiFi. Samo przesunięcie zlecenia serwisowego wydawało się niewystarczające. Catalina 10.15.4.
Oliver Metz

3

Rozwiązałem to, wyłączając wszystkie połączenia sieciowe z wyjątkiem połączenia Wi-Fi, którego używałem, a następnie ustawiając właściwości tego jednego pozostałego włączonego połączenia, aby miały statycznie przypisane adresy DNS. (bez DHCP) To było na Win7 64bit


3

Dzięki za wskazówki. Naprawdę pomogli. Słowo „Firewall” kliknęło mi na myśl pomysł.

Mam komputer z systemem Windows XP z połączeniem WIFI i bez serwera proxy. Mam Norton Internet Security działający na moim komputerze, który ma Smart Firewall. Smart Firewall zarządza dostępem programów do sieci, w tym emulator.exe. Poszedłem do Ustawienia -> Kontrola programu, a następnie przyznałem pełny dostęp do emulator.exe. Następnie uruchomiłem emulator Androida i huk ... mogłem połączyć się z Internetem.

Mam nadzieję, że pomoże to nowym ludziom.

~ Obwisły


Tak - zapora była moim problemem (AVG). Dobre miejsce!
ccbunney,

Miałem ten sam problem z Kaspersky!
Behrouz.M

2

Jeśli korzystasz z systemu MacOS z wersją 2.2 i nadal widzisz błąd związany z łącznością danych, wypróbuj powyższe, działa.

  • Usunąłem wszystkie interfejsy sieciowe za pośrednictwem Sys Prefs oprócz LAN
  • Mimo że mój DNS jest dostarczany przez DHCP, przepisałem DNS tylko z jednym serwerem
  • Użyłem opcji -http-proxy w wierszu polecenia, aby ją określić

Zaczyna działać w biurze. Uff


2

Myślę, że czasem wystarczy po prostu zrestartować urządzenie wirtualne. :-)


2

Miałem ten sam problem na moim wirtualnym systemie Windows 7.

  1. Przejdź do Połączenia sieciowe
  2. Alt> Zaawansowane> Ustawienia zaawansowane ...
  3. W drugiej zakładce umieść interfejs sieci internetowych na górze

mam nadzieję, że jest to pomocne dzięki


2

W emulatorze Androida włączanie, a następnie wyłączanie trybu samolotowego działało dla mnie.


1

tak - w win 7 uruchom emulator z prywatnymi administratorami i wszystko będzie dobrze - a przynajmniej dostaniesz bezprzewodowy w Androidzie.


1

Miałem podobny problem na Win7 64 bit. Próbowałem wyłączyć moje karty hamachi i virtualbox i nie działałem. Próbowałem uruchomić avd jako administrator i nie działałem. Ostatecznie wyłączyłem adapter tunelowania teredo, korzystając z informacji na tej stronie i zadziałało: http://www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista /


Po rozpoczęciu pracy zatrzymał się ponownie. ipconfig pokazał, że pojawił się nowy adapter Microsoft o nazwie isatap. Więc poszedłem do Menedżera urządzeń> Adaptery sieciowe> Pokaż ukryte urządzenia i wyłączyłem 3 karty isatap, a potem znów zacząłem działać.
Martin Bayly,

1

Odkryłem, że uruchomienie emulatora z zaznaczoną opcją „wyczyść dane użytkownika” rozwiązało ten problem po przebudowaniu mojej maszyny deweloperskiej z Vista x64 na Win7 x64.


1

wygląda na to, że może istnieć kilka powodów, dla których emulator może nie mieć połączenia z Internetem, w moim przypadku pracowałem z domu, w którym mam połączenie bezprzewodowe, a potem przyszedłem do biura i podłączyłem się bezpośrednio, jednak moje połączenie bezprzewodowe zostało rozłączone nie został wyłączony, co spowodowało brak połączenia emulatora. Rozumiem, że po uruchomieniu szuka karty sieciowej, a jeśli wystąpi tutaj konflikt, może to spowodować brak połączenia z Internetem. aby rozwiązać, przejdź do Start> Ustawienia> Połączenia sieciowe kliknij prawym przyciskiem myszy Bezprzewodowe połączenie sieciowe (jeśli nie korzystasz z sieci bezprzewodowej) i wybierz Wyłącz


1

Nie korzystam z serwera proxy ... ale używam skryptu ... Czy i tak jest wokół tego. Jestem za zaporą firmową


Znalazłeś jakieś rozwiązanie?
Ahamed

0

Nie jestem pewien, czy to jest twój problem, ale oto jak naprawiłem mój.

Zawsze miałem ten błąd „Nie znaleziono serwerów DNS” podczas uruchamiania emulatora i wiele badań w Google bezskutecznie. W każdym razie znalazłem gdzieś post (już go nie mogę znaleźć), który mówi, że liczba kart sieciowych, liczba wpisów DNS może wpłynąć na emulator. Wiedząc również, że emulator używa funkcji Windows API (GetNetworkParams ()) do rozwiązywania wpisów DNS, nie mogłem polegać na pliku% WINDOWS% \ System32 \ Hosts.

Jednak poszedłem we właściwościach kart sieciowych (w systemie Windows 7), aby stwierdzić, że podawałem statyczny adres IP, ale nie mam wpisów DNS. Mam wpisy DNS z routera i podłączyłem je do właściwości karty sieciowej. Zrestartowałem emulator i teraz używa poprawnych wpisów DNS!

Mogę teraz używać mojego połączenia internetowego z emulatorem i działa to cuda!

Mam nadzieję, że to pomoże!


0

Myślałem, że mam problemy z podłączeniem mojego emulatora do Internetu, ale okazało się, że były to problemy z kodem, którego używałem. Wiem, że to oczywiste, ale w pierwszej kolejności wypróbuj przeglądarkę emulatora, aby potwierdzić, że nie masz dostępu do Internetu. Oszczędziłbym godzinę, gdybym zrobił to pierwszy.


0

Mam system Mac OS X 10.7.2, Eclipse Helios Service Release 2. Pracuję również za pośrednictwem serwera proxy, a moje ustawienia IP są za pośrednictwem DHCP. Ten problem rozwiązałem po raz pierwszy, korzystając z tego artykułu http://www.gitshah.com/2011/02/android-fixing-no-internet-connection.html, następnie usunąłem ustawienia emulatora i po prostu idę do Uruchom-> Uruchom konfiguracje-> Cel-> Dodatkowe opcje wiersza poleceń emulatora i wpisz tam -http-proxy xxx.xx.111.1: 3128. Chciałbym również powiedzieć, że kiedy wpisałem również DNS taki jak ten: -dns-server xxx.xx.111.1 -http-proxy xxx.xx.111.1: 3128 to nie działało, ale kiedy usunąłem DNS, działało. Chciałbym również zauważyć, że dodatkowe opcje wiersza poleceń emulatora nie są widoczne bez przewijania na dół tego okna. Chcę również zauważyć, że po zmianie opcji emulatora wszystkie aplikacje będą działać. Ale jeśli napiszesz Dodatkowe opcje wiersza polecenia emulatora, musisz je zapisać za każdym razem dla każdego miejsca docelowego aplikacji w Konfiguracjach uruchamiania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.