Эмулятор Android не может получить доступ к Интернету


255

Я знаю, что подобные вопросы задавались ранее, но моя проблема является новой только после установки 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 Device Monitor, он скажет, что эмулятор отключен. Затем, если я закрою Android Device Monitor и вернусь в 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

Ответы:


372

Измените адрес DNS вашей сети на 8.8.8.8 (DNS от Google) или другой по вашему выбору:

Mac OS X:
  • Откройте «Системные настройки»
  • Нажмите на «Сеть»
  • Выберите сеть, к которой подключен ваш компьютер, и нажмите «Дополнительно».
  • Выберите «DNS», нажмите кнопку «+», введите «8.8.8.8» (DNS от Google) или, если вы предпочитаете OpenDNS, «208.67.222.222»
  • Выберите «ОК» и «Применить»

Windows и Linux:

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


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


Я должен был следовать этому руководству для окон: developers.google.com/speed/public-dns/docs/using, но оно также помогло мне. Я думаю, по какой-то причине моя домашняя сеть не была правильно настроена для эмулятора.
Chud37

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

5
Я сделал то же самое, но затем пришлось перезапустить эмулятор, чтобы заставить его работать, хотя спасибо за совет!
Стивен Эллиот

30
Направьте весь DNS-трафик вашей хост-системы в Google, какой ответ -.-
fl034

2
Вы также можете вместо "грубого принуждения" всего своего компьютера использовать новый DNS-сервер (а затем по умолчанию эмулятор наследует эти изменения) просто изменить настройки DNS для эмулятора ... Есть множество способов сделать это , Более подробная информация о различных доступных опциях доступна здесь: stackoverflow.com/questions/2039964/…
trcarden,

204

Попробовав многие из этих решений, я собирался просто удалить свой текущий AVD и сделать его снова, но когда я нажал стрелку вниз на AVD, я заметил «Cold Boot Now».

AVD Меню

По прихоти я это попробовал. И вот мой эмулятор снова подключен к интернету!

РЕДАКТИРОВАТЬ: Хорошо, для тех, кто говорит, почему бы просто не стереть данные и перезапустить. Вы переформатируете свой компьютер каждый раз, когда перезагружаете его? Стирание данных на эмуляторе аналогично восстановлению заводских настроек телефона или переформатированию жесткого диска на компьютере и переустановке операционной системы. Это не нужно, если данные полностью не повреждены.

Когда вы выключаете эмулятор и перезапускаете его, это все равно что переводить компьютер в спящий режим или в спящий режим. Память не стирается, она сохраняется.

Выполнение холодной загрузки - это то же самое, что перезагрузить телефон или перезагрузить компьютер. Это сбрасывает память и позволяет перезагрузить вещи. Это позволяет эмуляции сети начинаться с чистой памяти и правильно подключаться.

Так что не стирайте свои данные. Просто холодный ботинок. Если это все еще не работает, тогда вытрите, но сохраните это как последнее средство.


8
Это исправило это для меня после переключения с проводного на Wi-Fi
Лукас

3
У меня тоже работает, сталкиваюсь с одной и той же проблемой переключения между разными сетевыми адаптерами. Кажется, проблема в том, что эмулятор все еще каким-то образом подключен к предыдущей конфигурации подключения, поэтому, когда эмулятор запускается с холодной загрузкой, теперь конфигурация сети перезапускается, и все начинает работать снова. Спасибо, что поделился ;)!!
Георгий Обрегон

1
Работает отлично! но почему?
ucMedia

1
Вы протираете телефон каждый раз при перезагрузке? Вот что значит холодный старт на эмуляторе, холодная перезагрузка. Это то же самое, что выключить телефон и снова включить его. Нет необходимости стирать данные из эмулятора после холодной загрузки, если у него все еще не возникает проблем.
Тимоти Уинтерс

Это сработало для меня .. Я попробовал другой прокси, попытался перезагрузиться, создал другой AVD .. Не уверен, почему это сработало .. но сработало .. !!
Свапнил Кале

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, и обнаружив, что эмулятор Visual Studio не поддерживает google_api_services, я нашел это решение, которое делает эмулятор Android для подключения к Интернету ... Я чувствую, что: |
Монах

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-сервер будет работать
sudo

30

Просто откройте AVD Manager и сотрите данные того эмулятора, который у меня работает.


1
Это должно было иметь мое кешированное старое соединение Wi-Fi, потому что я переехал в другое место Wi-Fi, и эта проблема начала происходить. Я вытер AVD и перезапустил, и он взял Wi-Fi на новом месте.
Майк Флинн

27

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

Я нашел сообщение на SO, в котором говорилось, что проблема в том, что эмулятор пытается использовать отключенный сетевой адаптер. Для меня проблема возникала, когда я был подключен к локальной сети. Отключение адаптера беспроводной локальной сети решило проблему.

Чтобы отключить адаптер:

  1. Перейдите к сетевым подключениям
  2. Найти адаптер
  3. Щелкните правой кнопкой мыши и выберите отключить

2
Спасибо за чаевые. Я начал подозревать, что-то подобное, так как я заметил, что подключение через проводной сетевой адаптер также решило проблему. Также должна быть возможность исправить эту проблему, изменив приоритет двух адаптеров, но в любом случае это решительное решение. Почему Google не может просто исправить эмуляторы, чтобы использовать соединение, которое использует мой компьютер. Как я уже сказал, это не было проблемой до того, как я обновился до Android Studio 2.3. А пока я буду придерживаться другого решения, в котором я указываю DNS-сервер.
Джон Мур

Спасибо. У меня есть LAN и беспроводной адаптер. Работаем после отключения беспроводного адаптера.
Plugie

Именно! Я отключил все сетевые адаптеры моего компьютера, кроме адаптера WiFi, и это сработало. Спасибо.
Александр.

21

Откройте эмулятор Android и перейдите в Extended Controls . Затем перейдите к настройке => прокси (вкладка) и снимите флажок «Использовать настройку прокси-сервера Android Studuio HTTP».


Я, с другой стороны, должен был проверить это снова, чтобы интернет заработал. :(
Sankalp

работал как шарм, но пришлось перезапустить эмулятор, чтобы он подобрал настройки.
u84six

15

Я решил стереть данные из AVD Manager


2
Меня устраивает. В моем случае я использовал эмулятор с API 22. После «Wipe Data» и «Cold Boot Now» подключение к Интернету работает нормально, но мне пришлось переустановить приложение.
Akostha

14

Это случилось со мной, когда эмулятор завис, и мне пришлось убить процесс. Значок сигнала всегда показывал маленькую букву «х», как на скриншоте, и подключение к интернету не было успешным.

Единственное, что помогло, это удалить и переустановить эмулятор (не образы AVD)

В Android Studio:

Инструменты-> Android -> SDK Manager Снимите флажок «Эмулятор Android» и дайте ему удалить, затем проверьте еще раз и дайте установить снова.

Скриншот


2
Была та же самая проблема, сделал это, и проблема не была решена. Но после перезагрузки всего компьютера интернет теперь работает на эмуляторе.
antogerva

это работает для меня, моя ситуация .. переустановите Android Studio, я использовал старые мои файлы SDK
AGTHAMAYS

2
Это единственное решение, которое сработало для меня (на Mac fyi)
vikzilla

Согласитесь, что это было единственное решение, также работавшее на Mac!
Anoop Santhanam

13

Я также сталкиваюсь с той же проблемой, но я пытаюсь решить проблему с помощью различных сообщений. Сегодня я обнаружил эту проблему. Скорее всего, проблема в конфигурации вашего компьютера, а не в Android Studio и эмуляторе Android.

Проблема исходит от вашей настройки сети. Просто установите Основной DNS-сервер на 8.8.8.8, что решит проблему.


9

[ОБНОВЛЕНИЕ 2020] для пользователей Mac

  1. Системные настройки
  2. сеть
  3. WiFi> Выбрать Advance
  4. Из Advance Выберите вкладку DNC
  5. Добавить DNS-сервер 8.8.8.8

и вы сделали


8

Это было проблемой для меня в прошлый раз, когда эмулятор обновлялся сам, и тогда отключение других сетевых адаптеров исправляло это. Теперь он снова обрезается, но единственный включенный адаптер - это один Wi-Fi, так что мне нечего отключать.

Проблема появилась только после того, как я обновил через эмулятор инструменты до 26.1.1. Я удалил и переустановил эмулятор через вкладку обновления SDK Tools, и, к счастью, единственная возможность при повторной установке прямо сейчас - установить 26.0.3 (которая, кажется, работает нормально).

Мораль этой истории - быть очень осторожным с обновлениями эмулятора .


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

Это решение сработало и для меня! Мне пришлось установить 26.0.3 из Android Studio 2.3. хотя (предварительный просмотр 3.0 показал только 26.1.1.). Большое спасибо!
Аттила Мольнар

8

Напоминание : интернет-соединение с эмулятором Android не работает, если на компьютере включена система VPN .


7

Для меня проблема была вызвана тем, что я взял свой ноутбук домой без перезапуска эмулятора. Из того, что я прочитал, когда эмулятор запускается, он читает настройки DNS вашего ПК и использует их. Когда я был в моей домашней сети, мои рабочие настройки DNS не работали.
Так что да. Перезапуск эмулятора решил мою проблему.


6

Я получил простое и постоянное решение этой проблемы в Windows.

Перейти к сети и интернет- вариант->введите описание изображения здесь

нажмите на Etherenet или Wi-Fi (для которого вы подключены) вариант -> введите описание изображения здесь

Нажмите на кнопку изменения адаптера -> введите описание изображения здесь

Щелкните правой кнопкой мыши сеть, к которой вы подключились. введите описание изображения здесь

Откроется диалоговое окно, и просто нажмите на опцию Интернет-протокол (TCP / IPv4) . введите описание изображения здесь

Откроется другое диалоговое окно, в котором просто пропустите первый набор об IP-адресе (сохранить, как он задан) и щелкните переключатель « Использовать следующие адреса DNS-серверов»: и введите как 8.8.8.8 в « Предпочитаемый DNS-сервер»: и 8.8. 4.4 в альтернативном DNS-сервере: введите описание изображения здесь

Теперь вы можете открыть свой эмулятор в любое время, и вы получите интернет в эмуляторах Android.


Ни одно из других решений не сработало для меня, но это сработало! Как упоминание: я нахожусь на кабеле локальной сети, таким образом я сделал изменения в этом параметре вместо соединения Wifi.
Збарча Кристиан

6

закрытие эмулятора и повторное открытие работало для меня

ОС WINDOWS 10


1
Это сработало для меня. Я попытался перезапустить виртуальный телефон, но этого было недостаточно. Проблема может быть вызвана тем, что эмулятор запускается в спящем режиме. Спасибо.
Алексей

4

После 10 дней неприятностей я просто удалил все C:\Android\.android\и удалил все созданные AVD. Теперь интернет работает нормально.


4

если Android-браузер может получить доступ к Интернету, вы можете запустить эмулятор с терминала с помощью этой команды

перейдите в путь SDK, то

$ / tools / emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full

это решит вашу проблему с интернетом ...


4

У меня тоже была проблема: отключив прокси в настройках Android Studio и запустив эмулятор с «Cold Boot Now», проблема была решена.


3

Просто воссоздание эмулятора с другим целевым API сработало для меня


3

Я на андроид студии 3.1 и это случилось. Решил это путем перезапуска сервера adb

$ adb kill-server
$ adb start-server

Надеюсь, поможет. Спасибо


2

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


2

Возможно, вы установили прокси для Android Studio, и прокси не работает. Попробуй без прокси.


2

У меня была та же проблема, и я решил с помощью следующих шагов: -

Перейти к настройке эмулятора, а затем перейти к

setting-> Proxy-> Либо настройте его вручную, либо используйте Tick использовать симулятор HTTP-прокси Android Studio.


2

У меня есть Visual Studio 2017, и этот простой щелчок имеет проблему с интернетом для эмулятора Android.

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


2

Пожалуйста, перейдите по ссылке ниже.

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

Эмулятор открыт, нажмите кнопку Дополнительно ... , а затем нажмите кнопку Параметры и прокси. Отсюда вы можете определить свои собственные настройки прокси HTTP.


Введите имя хоста, выполнив Run> cmd> hostname

Наконец, проверьте доступ в Интернет внутри эмулятора, просмотрев в Chrome или Google.

Примечание: часто стирание данных устраняет проблему. Пожалуйста, следуйте всем шагам


1

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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.