Android Studio - Android-эмулятор Wi-Fi без Интернета

Я потратил целый день, пробуя различные решения, плавающие в SO и другом месте, упомянутом для включения Wi-Fi на эмуляторе Android, но безрезультатно. Может ли кто-нибудь помочь мне выяснить, как включить Интернет на моем эмуляторе Android?

У меня Nexus 5X API 27 и цель - Android 8.1 (Google Play) и Nexus 5 API P, а целевой - Android 7.1.1.

Я считаю, что должен быть способ включить Интернет на нем, иначе весь смысл предоставления виртуального Wi-Fi на эмуляторе кажется бесполезным.

Я использую mac OS HS 10.13.4, напрямую подключенный к моему маршрутизатору без прокси.

Я даже попытался удалить все AVD, переустановив их. Я даже попытался установить последнюю версию Pixel 2 с Oreo Android 8.1.

Кажется, ничего не работает. Кто-нибудь сталкивался с этой проблемой и нашел решение?

Любая помощь будет большим подспорьем

Спасибо, Викрам

Обновление: когда я подключаю свой компьютер через телефон в качестве точки доступа Wi-Fi, у эмулятора есть Интернет через Wi-Fi, но он не работает, когда я подключаю свой компьютер к домашнему маршрутизатору.

разве он еще не включен?

user9025311 03.06.2018 22:36

У меня такая же проблема. Он работает через точку доступа моего телефона, но не через маршрутизатор. Какой у вас роутер? Раньше все работало нормально, когда у меня был маршрутизатор AVM, но теперь у меня есть маршрутизатор Telekom Speedport, и он больше не будет работать.

TheBaj 05.06.2018 17:42

@TheBaj: Возможно, проблема здесь не в типе маршрутизатора, а может и в самом деле, но я не знаю. Попробуйте решение ниже, которое сработало для меня.

Vikram Mahishi 05.06.2018 20:05

@VikramMahishi просто обновите эмулятор Android SDK. У меня это работает.

Zala Janaksinh 31.12.2018 11:40
stackoverflow.com/questions/42736038/…
Ramdhas 07.08.2019 08:49
127
5
94 721
29
Перейти к ответу Данный вопрос помечен как решенный

Ответы 29

Ответ принят как подходящий

@TheBaj: Я понял, в чем проблема, и исправил ее. Проблема в том, что когда вы подключены через маршрутизатор, androidwifi в вашем эмуляторе использует настройки и устанавливает DNS на что-то другое, кроме 8.8.8.8, которое является DNS Google (я предполагаю, что это своего рода обязательная настройка для androidwifi для доступа в Интернет. доступ). Но если я изменю DNS в своих сетевых настройках, плагин google-services, который извлекает ваши зависимости, особенно тот, который загружается с jcenter(), не будет загружен, и, следовательно, ваша синхронизация не удастся, что в конечном итоге приведет к сбою вашей сборки.

Итак, уловка в том, что ваш google DNS (8.8.8.8) настроен в настройках вашей сети после настроек маршрутизатора по умолчанию - эта часть заботится о загрузке зависимостей из jcenter() и успешной синхронизации и сборке.

Теперь запустите свой эмулятор с помощью команды emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 из терминала, которая заставляет эмулятор использовать 8.8.8.8 в качестве своего DNS, и у эмулятора будет Интернет.

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

   function emunex5 {
    emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
 }

  function emunex6 {
    emulator @Nexus_6_API_27 -dns-server 8.8.8.8
  }

  function emupix {
    emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
   }

Итак, с одного терминала я запускаю эмулятор по своему выбору, а затем запускаю сборку на другом терминале, который запускает мое приложение на запущенном эмуляторе, и МОЙ ЧУВСТВИТЕЛЬНЫЙ ЭМУЛЯТОР ИМЕЕТ ДОСТУП В ИНТЕРНЕТ. :)

Попробуйте это, и я надеюсь, что это поможет.

Спасибо, Викрам

«эмулятор» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Bhupesh 13.11.2019 12:18

@Bhupesh см. %HOME%\AppData\Local\Android\Sdk\emulator - вот где я его нашел.

t3chb0t 23.05.2020 11:59

Я решил с google dns на сетевом адаптере 8.8.8.8 и 8.8.4.4

Android Emulator wifi connected with no internet solution for windows

Надеюсь, об этом где-то сообщают как об ошибке, потому что мне тоже потребовалось время.

Renetik 22.01.2020 19:51

Работает как часы

Misa 22.03.2021 08:53

Ниже приведены решения для Windows и Mac, но аналогичные решения будут работать в любой ОС:

  1. В Windows

    • Откройте Центр коммуникаций и передачи данных и щелкните текущий Связь
    • Нажмите Характеристики
    • Дважды щелкните Интернет-протокол версии 4 (TCP / IPv4)
    • Установите предпочтительный и альтернативный DNS-серверы как (снимок экрана ниже):

      8.8.8.8
      8.8.4.4
      
  2. На Mac

    • Перейти к Настройки> Сеть> Дополнительно ...> DNS
    • Удалите все записи, которые у вас есть, и добавьте эти две записи (снимок экрана ниже):

      8.8.8.8
      8.8.4.4
      

      Note: For Mac users, if the entries field is disabled and you're not able to edit it, click on the 'Lock' icon in the bottom area of that window and enter the password to be able to make changes

Перезагрузите эмулятор, и он должен решить:

Скриншоты:

  1. Окна

Android emulator not connecting to internet solution on windows

  1. Mac

Android emulator not connecting to internet solution on a mac


Обновлено: это исправление ситуации, когда Wi-Fi эмулятора изменил DNS на какой-то неработающий DNS. Хотя это работает большую часть времени, могут быть и другие причины, которые не могут быть исправлены с помощью этого решения.

столкнуться с этим с помощью эмуляторов Android 8 Oreo (AVD) в студии Android. либо флаг cli, либо изменение DNS в масштабе всей системы исправили это.

Thom 18.02.2019 22:49

N.B. Обязательно выключите, а затем перезапустите эмулятор. Если вы перезапустите эмулятор из настроек Android, он не будет работать

gianlucaparadise 07.07.2019 14:50

Это и холодная перезагрузка AVD исправили это

ben_joseph 13.05.2020 08:55

На самом деле, ввод любого действительного адреса DNS-сервера общественный должен работать, нет необходимости специально использовать Google DNS. По умолчанию часто используется адрес вашего маршрутизатора, который установлен как DNS (или отсутствует, что в большинстве систем возвращается к вашему маршрутизатору). Затем ваш маршрутизатор определит правильный DNS в соответствии с его конфигурацией. Однако это не работает для эмулятора, поскольку эмулятор не может напрямую подключаться к вашему маршрутизатору или использовать его в качестве DNS, я полагаю. Следовательно, необходимость в статическом общедоступном IP-адресе DNS.

ubuntudroid 16.07.2020 13:19

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

Jorge Casariego 11.10.2020 21:31

Ага! Эмулятор обязательно выключить. Спасибо за решение

Christian Mora 16.02.2021 18:32

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

matthias_b_nz 30.03.2021 01:03

Ну я так сделал:

Шаги по добавлению прокси вручную:

  1. Перейти к Настройки эмулятора
  2. Перейти на вкладку Прокси
  3. Установить Ручная настройка прокси
  4. Добавьте свои Имя хоста и Номер порта
  5. Нажмите Применять

Эталонный снимок экрана:

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

Как найти свое имя хоста?

SMBiggs 26.03.2021 15:17

Мое решение с использованием Mac OSX 10.13

Я читал о том, что это вызвано включением сетевой карты и Wi-Fi, и некоторые подходы мне показались сложными, поэтому я просто попробовал это, и это сработало:

  • Отключил Wi-Fi на моем ноутбуке.
  • Выключил эмулятор.
  • Выполнил холодную загрузку на эмуляторе (AVD Manager -> в действиях эмулятора -> Холодная загрузка сейчас).
  • После перезагрузки с отключенным Wi-Fi на ноутбуке эмулятор показал правильное соединение Wi-Fi (эмулятор по-прежнему показывает AndroidWifi, но подключен к Интернету моего ноутбука. Теперь символ Wi-Fi выглядит так: Символ Wi-Fi подключен)
  • Затем я включил Wi-Fi на своем ноутбуке, и все заработало.

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

Manuel 16.08.2019 03:34

Сработало у меня! Я только что сделал холодную перезагрузку с отключенным Wi-Fi, и он работал нормально.

Hasen 22.08.2019 13:16

Это лучший ответ.

Ahmed Mostafa 01.04.2020 14:49

Удивительный!!! Спасибо!!! Но для меня - мне пришлось отключить и включить Wi-Fi на эмуляторе.

James 14.05.2020 15:54

Спасибо за полезное решение. Думаю, следует выбрать этот ответ.

anticafe 30.05.2020 14:09

Это гораздо лучшее решение, чем изменение глобальных настроек DNS на вашем компьютере.

Tyler Wood 02.11.2020 16:48

Это сработало в начале 2021 года!

Stephan Bakkelund Valois 23.01.2021 08:24

@StephanBakkelundValois в начале 2021 года, у меня тоже это сработало, за исключением того, что мне не пришлось выполнять холодную перезагрузку. Я просто отключил подключение к ноутбуку, перезапустил эмулятор, затем подключился к сети AndroidWifi, и доступ в Интернет снова заработал.

Pine Code 09.02.2021 12:02

В Windows:

После тестирования некоторых решений я нашел свое, щелкнув стрелку вниз на AVD, опция «Холодная загрузка сейчас». после загрузки у Android был доступ к Интернету, так что у меня это сработало.

Что сработало для меня:

  • Выключите эмулятор (используя его кнопку питания)
  • Запустите свое приложение на ДРУГОЙ эмуляторе, а затем закройте его.
  • Теперь снова запустите приложение в предыдущем эмуляторе.

Если точка доступа Wi-Fi изменилась, просто перезапустите эмулятор, чтобы эмулятор обновил настройки сети из службы DHCP.

Сброс настроек сети в эмуляторе Android устраняет эту проблему.

Удалите данные, щелкнув правой кнопкой мыши по списку виртуальных устройств, и холодная загрузка у меня работает.

У меня сработала простая холодная перезагрузка, не нужно запускать другие эмуляторы и стирать память.

Просто закройте свой эмулятор и выберите параметр «Холодная загрузка сейчас» в раскрывающемся меню рядом с кнопкой воспроизведения. Если вы не ищите какой-либо из более полных вариантов, перечисленных здесь, но я предлагаю всегда начинать с самого простого решения.

Удачи!

Возможно, попробуйте использовать локальную сеть, если она есть. Для меня это действует как амулет ...

Для новых пользователей поисковика: Иногда VPN - ваше решение Изменение настроек сети не всегда возможно из-за сетевых проблем. Если вы используете IP-адреса, которые Google не отвечает для этих регионов, ваше решение использует vpn. Используйте правильный vpn (через него вы можете обновить свою студию Android). Когда ваш vpn запускается, ваше устройство avd ( Конечно, уровень api вашего эмулятора важен, например, у меня нет проблем с api 22, но для api 28 необходимо использовать vpn!) Это был мой опыт работы с эмулятором Android в Интернете.

Измените местоположение эмулятора и установите его на свое текущее местоположение.

  • Шаги: -

    1. Нажмите «Еще» в параметрах эмулятора.
    2. Перейти к локации
    3. Найдите свой адрес и нажмите УСТАНОВИТЬ МЕСТОПОЛОЖЕНИЕ.

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

Шаги:

  1. Зайдите в настройки эмулятора
  2. Выберите вкладку прокси
  3. Затем установите флажок «Использовать настройки прокси-сервера HTTP Android Studio».
  4. Нажмите Применить

По умолчанию это не установлено. Спасибо

Aada 16.02.2021 14:52

Может, это кому-то поможет. Я перепробовал все вышеперечисленные решения. Смена DNS, холодная загрузка и т. д. После нескольких часов проб и ошибок я обратился к официальной документации, в которой говорилось, что эмулятор подхватывает конфигурацию DNS. хост-машины во время загрузки эмулятора. На моем компьютере была установлена ​​VMWare, которая устанавливает несколько сетевых адаптеров. Итак, Я только что изменил конфиг DNS. всех адаптеров (включая адаптеры VMWare) и холодно загрузил мой эмулятор. OMG, проблема, которая, казалось, не уходила в течение нескольких часов, только что разрешилась!

Что мне показалось странным, так это то, что я вернул конфигурацию DNS. всех переходников на авто, и снова холодно загрузил мой эмулятор. Wi-Fi по-прежнему работает нормально. ОС: Windows 10.

Мне просто нужно было холодно загрузить эмулятор

KvdLingen 12.09.2020 12:04

100% работает на Windows 10

Android AVD поставляется с Google DSN, настроенным внутри эмуляторов. Поэтому нам нужно установить то же самое для общего доступа к сети для доступа к нему.

IP-адреса Google Public DNS IP-адреса Google Public DNS (IPv4) следующие:

8.8.8.8

8.8.4.4

Адреса Google Public DNS IPv6 следующие:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Вы можете использовать любой адрес в качестве основного или дополнительного DNS-сервера.

Больше информации

Здесь я показываю для настройки шагов IP v4

  1. Открытый центр управления сетями и общим доступом
  2. Щелкните правой кнопкой мыши текущее подключение к Интернету
  3. Выбрать свойства
  4. Дважды щелкните Интернет-протокол версии 4 (TCP / IPv4)
  5. Выберите Использовать следующий адрес DNS-сервера.
  6. Установите предпочтительный и альтернативный DNS-сервер
  7. Предпочитаемый DNS-сервер: 8.8.8.8
  8. Альтернативный DNS-сервер: 8.8.4.4
  9. Нажмите ОК.
  10. Перезагрузите Android AVD

Примечание: если VPN включен, отключать VPN не будет.

More info on Google DSN

К сожалению, нам нужен VPN, когда WFH. Не могу поверить, что Google оставил эту проблему на долгие годы.

You-Liang Shih 28.05.2020 09:17

Решение для Windows:

  1. Перейдите в местоположение вашего Android SDK, например: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator.
  2. Откройте командную строку в том же месте. Напишите эту команду: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Здесь Nexus_4_API_29 будет именем вашего эмулятора (вы можете найти его в списке устройств в Android Studio -> AVD Manager). Эта команда запустит указанное вами устройство, и Wi-Fi будет подключен к Интернету.

Надеюсь это поможет.

Да, это сработало только у меня. Раньше показывалось соединение, но не было интернета. После реализации вашего решения это начало работать.

ashishdhiman2007 26.11.2020 15:24

@ ashishdhiman2007 Приятно слышать, что ваша проблема решена с помощью моего решения :)

Shehzad Osama 27.11.2020 11:52

В Mac OSX (для меня Catalina) проблема вызвана тем, что эмулятор автоматически выбирает сервер имен, просматривая /etc/resolv.conf и выбирая первый, в моем случае адрес IPv6. Источник: https://developer.android.com/studio/run/emulator-networking#dns

Просто отредактируйте файл (sudo vi /etc/resolv.conf) и переместите IPv4-адрес (192.168.1.1 в моем случае) на первый, перед IPv6-адресами. Серьезно, вот и все.

спасибо, это работает для меня. я использую macOS catalina 10.15

EJ Sulit 23.02.2021 02:42

В macOS:

  1. Откройте Сеть в Системные настройки.
  2. Выберите вашу текущую сеть слева, затем нажмите Передовой....
  3. Измените Настроить IPv6 (на вкладке TCP / IP) с Автоматически на Только локальная ссылка.
  4. Перезагрузите эмулятор.

Если бы только это не убило IPv6 на главном Mac :(

der_michael 25.02.2021 07:30

Если у вас подключен какой-либо VPN - попробуйте отключить его.

Для меня это был VPN через Cisco AnyConnect Secure Mobility Client. Как только я закрыл клиент Cisco (который разрывает VPN-соединение), WiFi на эмуляторе Android начал работать.

Спасибо, вы меня спасли :) Я использовал NordVPN, отключение помогло.

ymerdrengene 09.12.2020 20:00

@ymerdrengene рад, что это помогло! :)

Adomas 18.12.2020 16:54

У меня тоже есть этот VPN. В моем случае я сначала отключаю VPN, а затем перезапускаю эмулятор («Холодная загрузка сейчас»). Затем эмулятор подключается к Интернету. После этого снова подключитесь к VPN, и эмулятор продолжит работу.

CoolMind 03.06.2021 15:05

Также это зависит от URL-адреса VPN. Эмулятор, работающий через «Cisco AnyConnect Secure Mobility Client», может или не может подключаться к Интернету с другими URL-адресами VPN.

CoolMind 07.06.2021 09:15

У меня была такая же проблема - в эмуляторе я был подключен к Wi-Fi / LTE, но я не мог получить доступ к любому веб-сайту.

Решением для меня было исправить IP-адрес моего домашнего DNS-сервера:

$ cat /etc/resolv.conf 
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1

вам действительно не нужно использовать google dns

Надеюсь, я избавлю кого-то от боли, Я все перепробовала, все говорили здесь, изменил DNS каждого сетевого адаптера, переустановил все, SDK, эмулятор, даже студию Android, ничего не сработало, если вы окажетесь в том же положении, проверьте, если вы установили VMware, если вы это сделаете, не беспокойтесь о DNS, просто войдите в Панель управления-> Центр управления сетями и общим доступом-> Изменить настройки адаптера и отключить все без исключения сетевые адаптеры VMware, а затем выполнить «холодную» загрузку, мгновенно устранит проблему., вы даже можете включить их позже, и он все еще работает

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

Если кто быстро исправит:

Шаг 1: перейдите в AVD Manager

Шаг 2. Остановите устройство

Шаг 3. Запустите проект Android Studio

Кажется, предыдущие ответы на эту проблему больше не работаю в 2021 году (Использование Android Studio 4.1.2). Проблема в настройках DNS на эмуляторе. Больше не работает просто изменить DNS-серверы на вашем локальном ПК. Вам необходимо изменить настройки DNS в эмуляторе. Следующие шаги предназначены для эмулятора под управлением Android 11. Другие версии будут аналогичными:

  1. Откройте диалоговое окно Расширенное управление, которое открывается справа от эмулятора. Щелкните Настройки в диалоговом меню. Щелкните Прокси вверху и убедитесь, что Использовать настройки прокси-сервера Http для Android Studio ПРОВЕРЕН. Я подчеркиваю это, потому что во многих предыдущих решениях этот флажок не отмечался. Однако в последних версиях лучше не проверять это значение. Если это еще не было проверено, перезапустите эмулятор, прежде чем продолжить шаг 2.
  2. Перейдите к настройкам подключения WiFi в эмуляторе: Экран Дом -> Проведите вверх -> Настройки -> Сеть и Интернет -> Wi-Fi AndroidWifi -> щелкните значок шестеренки -> щелкните раскрывающийся список Передовой в нижней части экрана -> Проведите пальцем вверх, чтобы просмотреть Сведения о сети.
  3. Что там написано для DNS. Если это НЕ 8.8.8.8, исправьте его. Запишите (или запомните) адреса айпи адрес и Шлюз, отображаемые там в настройках сети. Нам нужно, чтобы эти IP-адреса были статическими.
  4. Щелкните значок карандаша вверху, чтобы отредактировать Детали сети. Щелкните раскрывающийся список Настройки IP и измените его на Статический. Затем введите айпи адрес и Шлюз, которые вы записали на шаге 2. Убедитесь, что DNS 1 - 8.8.8.8, а DNS 2 - 8.8.4.4. Они заполнялись автоматически для меня.
  5. Закройте эмулятор и перезапустите его, используя параметр Холодная загрузка сейчас.

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

Спасибо, сработало. Теперь это должен быть правильный ответ.

Jose Anibal Rodriguez 28.05.2021 20:11

единственное решение, которое работает

Nikhil Ranjan 08.06.2021 15:08

В Android Studio 4.2 у меня возникла эта проблема, когда оба эмулятора Wifi / LTE были подключены, но нет Интернета.

Решения, которые НЕ работали для меня: включение и выключение Wi-Fi, настройка местоположения / прокси, холодная загрузка, стирание данных, VPN и т. д. Ни одно из других решений не работало.

Решение, которое сработало для меня: обновление до Android Studio 4.2.1 и перезагрузка эмулятора.

Моя среда - Android Studio 4.2.0 в Mac 11.3.1 Big Sur

Шаг 0. Я закрываю весь свой эмулятор, а также закрываю Android Studio.

Шаг 1. Затем открываю Android Studio. AVD Manager -> Холодная загрузка сейчас

Шаг 2. Закройте Wi-Fi на эмуляторе. Тогда LTE может работать

Шаг 3. (необязательно) Кстати, моя настройка DNS в моей сети Mac:

Если step0 -> step 1 -> step 2 не работает, вы можете настроить DNS, как на шаге 3., а затем снова пройти Step0 -> Step1 -> Step2.

И это сработает.

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

Другие вопросы по теме