Емулятор Android не має доступу до Інтернету


254

Я знаю, що подібні запитання задавались і раніше, але моя проблема нова лише після встановлення Android Studio 2.3, останньої версії в березні 2017 року. У мене є кілька років досвіду розробки програм Android, і я ніколи раніше не стикався з цією проблемою. Після оновлення до версії 2.3 Android Studio, мій емулятор більше не має доступу до Інтернету. Я навіть видалив / перевстановив Android Studio 2.3 з нуля і створив новий емулятор, і я все одно отримую ту саму помилку. Це не проблема програми. Я навіть не можу отримати доступ до Інтернету через Chrome, і у мене не було цієї проблеми минулого тижня. Повідомлення, яке я отримую, говорить про те, що DNS-адресу сервера не вдалося знайти - DNS_PROBE_FINISHED_BAD_CONFIG. Єдине, що змінилося на моєму комп’ютері за останній тиждень - це нова версія Android плюс можливо оновлення до Windows 10. І так, мій комп'ютер має доступ до Інтернету. Нижче - зображення мого емулятора, коли я намагаюся використовувати Chrome для пошуку "Google". емулятор з повідомленням про помилку


Я виявив додаткову проблему з Android Studio 2.3, яка не пов'язана з доступом до Інтернету, але якось може бути пов’язана з вищевказаною. Якщо Android Studio відкрита для проекту та запущений емулятор, я можу запустити додаток на емуляторі просто чудово. Але якщо я відкрию монітор пристроїв Android, він говорить про те, що емулятор офлайн. Потім, якщо я закрию монітор пристрою Android і повернусь до Android Studio, це також скаже мені, що емулятор офлайн. Мені потрібно закрити та перезапустити емулятор, перш ніж Android Studio зможе його знову знайти. Ця проблема, як і вище, повторювана.
Джон Мур

Ще одне оновлення. Я встановив Android Studio 2.3 на інший, старший / повільний комп'ютер Windows 10, і проблема все ще виникає. Також я одного разу подумав, що проблема може бути пов’язана з поганим патчем Microsoft WPD, але на старшому комп’ютері не встановлено патч. Крім того, після декількох невдалих спроб мені вдалося видалити поганий патч з мого основного комп’ютера, і все ще не вдалося змусити Chrome працювати на емуляторі. На даний момент я відчуваю себе впевненіше, що проблема полягає в Android Studio 2.3.
Джон Мур

Будь ласка , прочитайте це , якщо ви перебуваєте під Windows: stackoverflow.com/a/43066809/2827025
anemomylos

1
Я думаю, що це питання все ще добре, оскільки воно є «загальнішим», ніж цитується, а також тому, що воно згадує про оновлення Android Studio. Станом на квітень 2018 року, я щойно оновив його до версії 3.1.2, і у раптово почав виникати це питання.
Блиск

9
Я не розумію, навіщо нам витрачати стільки часу на подібні проблеми. Команда Android ... просто виправте це!
r3dm4n

Відповіді:


371

Змініть DNS-адресу вашої мережі на 8.8.8.8 (DNS-адреса Google) або іншу з ваших переваг:

MacOSX:
  • Відкрийте "Налаштування системи"
  • Клацніть на "Мережа"
  • Виберіть мережу, до якої підключений ваш комп’ютер, і натисніть "Додатково"
  • Виберіть "DNS", виберіть кнопку "+", введіть "8.8.8.8" (DNS Google) або якщо ви віддаєте перевагу OpenDNS, "208.67.222.222"
  • Виберіть "Добре" та "Застосувати"

Windows та Linux:

https://developers.google.com/speed/public-dns/docs/using


Після цього закрийте емулятор і запустіть його знову.


Мені довелося керуватися цим посібником для Windows: developers.google.com/speed/public-dns/docs/using, але це також працювало на мене. Я думаю, чомусь моя домашня мережа не була встановлена ​​правильно для емулятора.
Чуд37

10
Якщо ви не хочете, щоб ваш DNS-трафік проходив через Google, скористайтеся налаштуваннями OpenDNS. 208.67.222.222 та 208.67.220.220
Джастін Ноель

5
Я робив те саме, але потім довелося перезапустити емулятор, щоб він працював, хоча за вказівку!
Стівен Елліотт


2
Ви також можете замість "грубої змусити" весь ваш комп'ютер використовувати новий DNS-сервер (а потім за замовчуванням ваш емулятор успадковує ці зміни) просто змінити налаштування DNS для емулятора ... Існує маса способів зробити це . Більш детальну інформацію про різних варіантів тут: stackoverflow.com/questions/2039964 / ...
trcarden

202

Спробувавши багато цих рішень, я збирався просто видалити свій поточний AVD і зробити його знову, але коли я натиснув стрілку вниз на AVD, я помітив "Cold Boot Now".

Меню AVD

На примху я спробував це. Ось і ось мій емулятор знову має підключення до Інтернету!

EDIT: Гаразд, для тих, хто говорить, чому не просто стерти дані та перезапустити. Ви переформатуєте свій ПК щоразу, коли перезавантажуєте його? Витирання даних на емуляторі так само, як зробити заводський скидання телефону або переформатувати жорсткий диск на ПК та перевстановити ОС. Це зайве, якщо дані повністю не пошкоджені.

Коли ви вимикаєте емулятор і перезавантажуєте, це схоже на переведення ПК у сплячий або сплячий режим. Пам'ять не стирається, вона зберігається.

Холодне завантаження - це те саме, що перезавантажити телефон або перезавантажити ПК. Він скидає пам'ять і дозволяє речей перезавантажуватися. Це дозволяє мережевій емуляції починати з чистої пам'яті та правильно підключатися.

Отже, не витирайте свої дані. Просто холодний черевик. Якщо це все ще не працює, витріть, але збережіть це в крайньому випадку.


8
Це вирішило для мене після переходу з провідного на Wi-Fi
Лукас

3
Також працює для мене, стикаючись з тією ж проблемою, що перемикається між різними мережевими адаптерами. Проблеми, схоже, полягають у тому, що емулятор все ще якимось чином підключений до попередньої конфігурації з'єднання, тому коли емулятор запускається із Cold Boot Now, мережева конфігурація перезапускається і все починає працювати знову. Дякую, що поділились ;)!!
Георгій Обрегон

1
Добре працює! але чому?
ucMedia

1
Чи витираєте телефон кожен раз при перезавантаженні? Ось який холодний старт на емуляторі, холодна перезавантаження. Це те саме, що вимкнути телефон і ввімкнути його. Немає необхідності видаляти дані з емулятора після холодного завантаження, якщо у нього ще немає проблем.
Тимофій Вінтерс

Це працювало для мене .. Я спробував різні проксі, спробував перезавантажити, створив різні AVD .. Не знаю, чому це спрацьовувало .. але працювало .. !!
Swapnil Kale

122

Я знайшов тимчасове рішення на старому потоці переповнення стека на оновленому рівні до SDK 2.3 - тепер жодні емулятори не мають підключення . Зауважте, що цей потік говорить про Android SDK 2.3, а не про Android Studio 2.3. Проблема, здається, полягає в тому, що емулятор не може знайти DNS, який мій комп'ютер зараз використовує, і тимчасовим рішенням є запуск емулятора з командного рядка та вказівка ​​сервера DNS. Яка б проблема не виникала тоді, напевно, вона з’явилася в останній версії Android Studio.

Викладене нижче тимчасове рішення вирішує проблему з емулятором доступу до Інтернету. Однак це не вирішує проблему, яка виникає при спробі запустити Android Device Monitor. Це все одно змусить емулятор вийти з режиму офлайн, як описано вище.

Зауважте, що у sdk є два файли з назвою "emulator.exe" - один під sdk \ tools та інший під sdk \ emulator. Це може працювати і нижче, але я використовую той, який знаходиться під sdk \ emulator.

Перший крок - знайти місце розташування SDK. Якщо припустити ім'я користувача "jdoe" та встановлення за замовчуванням Android Studio у Windows, SDK, швидше за все, у

C:\Users\jdoe\AppData\Local\Android\sdk

Другий крок - визначити ім'я AVD (емулятора), який потрібно запустити. Команда

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds

покаже назви ваших AVD. На моєму комп’ютері він показує лише один, Nexus_5X_API_25.

Щоб запустити емулятор з командного рядка із вказаним сервером DNS, використовуйте щось на зразок наступного:

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8

У цьому випадку 8.8.8.8 - це сервер загальнодоступних імен Google.

Наведені вище команди можна скоротити, якщо ви створюєте відповідні змінні середовища та редагуєте змінну середовища PATH, але я рекомендую робити це обережно.


Це абсолютно працювало для мене, але я б хотів, щоб був спосіб очищення DNS за межами командного рядка.
JaviCasa

заплативши 199 доларів ліцензії на Windows Pro, щоб отримати Hyer-V, і після того, як виявив, що емулятор візуальної студії не підтримує google_api_services, я знайшов це рішення, завдяки якому андроїд-емулятор підключається до Інтернету ... Я відчуваю, що: |
Мона

2
Це повністю працює, але неймовірно, що це все ще проблема з Android Studio 3.0 (емулятор 27.1.12). Можливо, пов’язано з тим, що в системі є як провідні, так і бездротові мережеві адаптери з відключеним бездротовим зв’язком?
Віктор Рендіна

Я подав помилку в Google і сподіваюся, що вони переглянуть коментарі тут і вирішать будь-яку основну проблему.
лапи

@paws, чи можете ви пов’язати помилку, яку ви подали? Хочете зіграти це також!
amitavk

56

Оновлення мого адаптера WIFI для вирішення DNS 8.8.8.8 вирішило проблему для мене. Це сталося після оновлення Apple, яке зіпсувало DNS-адресу.

введіть тут опис зображення


13
Не забудьте перезапустити емулятор після внесення цієї зміни, як пропонує Ана Паула.
Йорданія

1
Дивіться мій коментар вище про використання OpenDNS замість Google. stackoverflow.com/questions/42736038/…
Джастін Ноель

Чи не повинен бути 8.8.8.8 або OpenDNS, будь-який робочий DNS - сервер буде працювати
Суд

29

Просто відкрийте диспетчер AVD і витріть дані того емулятора, який працює для мене.


1
Це, мабуть, зберігало старе підключення до Wi-Fi, оскільки я переїхав до іншого місця Wi-Fi, і ця проблема почала відбуватися. Я витер AVD і перезапустив, і він підняв wifi на новому місці.
Майк Флінн

26

У мене виникло таке саме питання після оновлення. Після відкриття браузера Chrome в емуляторі до google.com більше не можна було дістатися.

Я знайшов публікацію на SO, яка припускає, що проблема полягає в тому, що емулятор намагався використовувати відключений мережевий адаптер. Для мене проблема виникала, коли я був підключений до локальної мережі. Відключення адаптера бездротової локальної мережі вирішило проблему.

Щоб вимкнути адаптер:

  1. Перейдіть до мережевих з'єднань
  2. Знайдіть адаптер
  3. Клацніть правою кнопкою миші та виберіть відключити

2
Дякую за пораду. Я почав підозрювати щось подібне, оскільки помітив, що підключення через адаптер дротової локальної мережі також вирішило проблему. Вирішити цю проблему слід також шляхом зміни пріоритету двох адаптерів, але будь-який спосіб здається кардинальним виправленням. Чому Google не може просто виправити емулятори, щоб використовувати з'єднання, яке використовує мій комп'ютер. Як я вже говорив, це не було проблемою до того, як я перейшов на Android Studio 2.3. Поки що я буду дотримуватися іншого рішення, де я вказую DNS-сервер.
Джон Мур

Дякую. У мене є LAN та бездротовий адаптер. Працює після відключення бездротового адаптера.
Плугі

Саме так! Я вимкнув усі мережеві адаптери ПК, крім мого адаптера WiFi, і це спрацювало. Дякую.
Олександр.Ілюшкін

21

Відкрийте емулятор Android та перейдіть до розширених елементів керування . Потім перейдіть до налаштування => проксі (Tab) і зніміть прапорець "Використовувати налаштування проксі-сервера для Android studuio HTTP".


Мені з іншого боку довелося ще раз перевірити це, щоб Інтернет працював. :(
Санкалп

працював як шарм, але довелося перезапустити емулятор, щоб вибрати налаштування.
u84six

15

Я вирішив стирання даних з AVD Manager


2
Це працює для мене. У моєму випадку я використовував емулятор з API 22. Після "Wipe Data" та "Cold Boot Now" підключення до Інтернету працює нормально, але мені довелося перевстановити додаток.
Акостха

13

Це сталося зі мною, коли емулятор замерз, і мені довелося вбити процес. Піктограма сигналу завжди показувала маленьке «х», як на скріншоті, і жодне з’єднання з Інтернетом не було успішним.

Єдине, що допомогло - це видалення та перевстановлення емулятора (а не зображення AVD)

В Android Studio:

Інструменти-> Android -> Диспетчер SDK зніміть прапорець "Емулятор Android" і нехай він видаляється, а потім перевірте ще раз і дозвольте встановити його знову.

Знімок екрана


2
Якщо була точно така ж проблема, це було зроблено, і проблема не була виправлена. Але після перезавантаження всього комп’ютера Інтернет зараз працює на емуляторі.
antogerva

це працює для мене, моя ситуація .. перевстановіть андроїд-студію, я використав старі файли SDK
AGTHAMAYS

2
Це єдине рішення, яке працювало на мене (на Mac fyi)
vikzilla

Погодьтеся, що це єдине рішення, яке також працювало на mac!
Anoop Santhanam

13

Я також стикаюся з тією ж проблемою, але я намагаюся вирішити проблему за допомогою різних постів. Сьогодні я виявив цю проблему. Конфігурація комп'ютера, швидше за все, є проблемою, а не Android Studio та Емулятор Android.

Проблема пов'язана з налаштуванням мережі. Просто встановіть для основного сервера DNS 8.8.8.8, що вирішить проблему.


8

Нагадування : підключення до Інтернету Android Emulator не працює, якщо на комп'ютері увімкнено систему VPN .


8

[ОНОВЛЕННЯ 2020] для користувачів Mac

  1. Налаштування системи
  2. Мережа
  3. WiFi> Виберіть заздалегідь
  4. У заздалегідь виберіть вкладку DNC
  5. Додано DNS-сервер 8.8.8.8

і ваше закінчено


7

Це було проблемою для мене востаннє, коли емулятор оновлювався, а потім відключення інших мережевих адаптерів виправляв це. Тепер це знову обрізано, але єдиний адаптер, який увімкнено, - це один Wi-Fi, тому мені нічого не можна відключати.

Проблема з’явилася лише після того, як я оновив за допомогою інструмента емулятора підказки до 26.1.1. Я видалив і перевстановив емулятор через вкладку оновлення інструментів SDK і на щастя єдиний варіант при інсталяції зараз - це встановлення 26.0.3 (що, здається, працює нормально).

Мораль історії має бути дуже обережним щодо оновлень емулятора .


Працював для мене, мав абсолютно таку ж версію, а після видалення перевстановив 26.0.3.
Семмі Патенотте

Це рішення спрацювало і для мене! Мені довелося встановити 26.0.3 з Android Studio 2.3. однак (попередній перегляд 3.0 показав лише 26.1.1.). Дуже дякую!
Attila Molnár

6

Для мене проблема виникла, коли я забрав ноутбук додому, не перезавантажуючи емулятор. З того, що я прочитав, коли емулятор запускається, він зчитує налаштування DNS вашого ПК та використовує їх. Коли я був у домашній мережі, мої робочі налаштування DNS вийшли з ладу.
Так що так. Тільки перезапуск емулятора вирішив мою проблему.


6

Я отримав просте і постійне рішення цієї проблеми у Windows.

Перейдіть до опції мережі та Інтернету- >введіть тут опис зображення

натисніть на Etherenet або wifi (для якого ви підключені) варіант -> введіть тут опис зображення

Клацніть на опції зміни адаптера -> введіть тут опис зображення

Клацніть правою кнопкою миші на мережу, до якої ви підключились. введіть тут опис зображення

Відкриється діалогове вікно і просто натисніть на опцію протокольної версії Internet (TCP / IPv4) . введіть тут опис зображення

Буде відкрито ще одне діалогове вікно і там просто нехтуйте першим набором про IP-адресу (Зберігайте так, як встановлено) та натисніть радіо-кнопку Використовувати наступні адреси сервера DNS: і введіть як 8.8.8.8 в Переважний сервер DNS: і 8.8. 4.4 на альтернативному сервері DNS: введіть тут опис зображення

Тепер ви можете відкривати свій емулятор будь-коли, і ви отримаєте Інтернет в емуляторах для android.


Жодне з інших рішень для мене не працювало, але це працювало! Як згадку: я перебуваю на локальному кабелі, тому я змінив цей параметр замість з’єднання Wi-Fi.
Zbarcea Christian

6

закриття емулятора і повторне відкриття працювали на мене

ОСНОВНІ ВІННИ 10


1
Це працювало для мене. Я намагався перезапустити віртуальний телефон, але цього було недостатньо. Проблема може бути ініційована, дозволяючи запущеному емулятору перейти в сплячий режим. Дякую.
Олексій

3

Після 10 днів проблем я просто видалив усе C:\Android\.android\і видалив усі створені AVD. Зараз, здається, Інтернет працює нормально.


3

якщо браузер Android має доступ до Інтернету, за допомогою цієї команди можна запустити емулятор з терміналу

перейдіть до шляху SDK

$ / tools / emulator -avd Nexus_5X_API_23 -netdelay none -не швидкість повного

це вирішить вашу проблему з Інтернетом ...


3

Я на андроїд-студії 3.1, і це сталося. Вирішили це шляхом перезавантаження сервера adb

$ adb kill-server
$ adb start-server

Сподіваюся, це допомагає. Дякую


3

У мене виникла і проблема, відключивши проксі в налаштуваннях Android Studio і запустивши емулятор за допомогою "Cold Boot Now", проблему було вирішено.


2

Для мене працював лише відтворення емулятора з іншим цільовим API


2

Можливо, ви встановили проксі для Android Studio, а проксі не працює. Спробуйте без проксі.


2

У мене була та сама проблема, і я вирішив з наступними кроками: -

Перейдіть до налаштування емулятора, а потім перейдіть до

налаштування-> Проксі-> Або налаштуйте його вручну, або використовуйте галочку, використовуйте Проксі-симулятор Android Studio HTTP.


2

Я маю візуальну студію 2017, і цей простий декілька клацань вирішив проблему інтернету для емулятора Android.

введіть тут опис зображення


1

Я зіткнувся з дуже раптовою проблемою на своєму MAC. Перепробувавши все, я нарешті видалив папку /Users/Philippe/.android і створив новий емулятор .


1

Для мене на OSX це було через використання сторонніх VPN-рішень ... він встановлює якийсь мережевий гак, через який AVD та Genymotion не змогли пройти. Довелося видалити його, щоб воно працювало належним чином. Працював чудово в деяких мережах, а не в інших ... було дуже дивно ..


1

У мене була така ж проблема в Windows 10. Я просто перейшов до Network & internet settings> Change adapter options> right-click on Wi-Fi and chose properties> Chose Internet protocol version 4 in the list and clicked properties> Turned on the "Use the following DNS server addresses" and filled the first part with "8.8.8.8" address. Проблема вирішена!


1

Якщо ви стоїте за проксі-сервером, може бути корисним наступне:

adb shell settings put global global_http_proxy_port YOUR_PROXY_PORT

adb shell settings put global global_http_proxy_host YOUR_PROXY_IP

reboot

1

Перейдіть за посиланням нижче.

https://developer.android.com/studio/run/emulator-networking

Відкрийте емулятор, натисніть Більше ... , а потім натисніть Налаштування та Проксі. Звідси ви можете визначити власні налаштування HTTP-проксі.


Введіть ім'я хоста, дотримуючись Виконати> cmd> ім'я хоста

Нарешті, перевірте доступ до Інтернету всередині емулятора, переглянувши в chrome або google.

Примітка. Часто протирання даних очистить проблему. Будь ласка, виконайте всі кроки


0

У мене це було і я вирішив це, створивши новий віртуальний пристрій для емуляторів андроїд і вибрав Nexus 4 api 27. До того, як я створював Pixel device api 28, він не працював навіть після відтворення пристрою. Тому я спробував зовсім іншу конфігурацію, і Android Emulator має підключення до Інтернету, як очікувалося. Інші рішення для мене не спрацювали, але я не намагався все це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.