Я потратил целый день на опробование различных решений, плавающих в 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, но он не работает, когда я подключаю свой компьютер к домашнему маршрутизатору.

Ответы (32)

@ 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
   }

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

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

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

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

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

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

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

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

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

enter image description here

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

Ниже приведены решения для 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
      

      Примечание. Для пользователей Mac: если поле ввода отключено и вы не можете его редактировать, щелкните значок «Блокировка» в нижней части этого окна и введите пароль для иметь возможность вносить изменения

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

Скриншоты:

  1. Windows

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. Хотя это работает большую часть времени, также могут быть другие причины, которые не могут быть устранены с помощью этого решения.

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

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

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

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

  • Шаги: -

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

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

Шаги:

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

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

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

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

8.8.8.8

8.8.4.4

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

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

Подробнее

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

  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

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

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

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

Решение для 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). Эта команда запустит указанное вами устройство, и к WIFI будет подключен Интернет.

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

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

Шаг 1. Зайдите в AVD Manager

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

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

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

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

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

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

Решение проблемы на Apple M1:

  1. Установите одну из новейших канареечных версий Android Studio. Используйте версию MAC ARM (Apple Silicon).
  2. При создании нового виртуального устройства используйте API уровня S и виртуальный образ arm64. (можно найти на других изображениях)

Вот ссылка на список релизов студии Android: https://developer.android.com/studio/archive

(работал у меня)

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

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

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

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

У меня ничего из этого не сработало, после чего я включил "Mobile HotSpot" в Windows. Он находится на панели задач рядом с «Авиарежимом». Все заработало.

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

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

Android Emulator wifi connected with no internet solution for windows

В расширенных элементах управления (которые можно включить, нажав кнопку «Еще» (3 точки ...) внизу.

Затем на вкладке «Прокси» выберите «Без прокси».

В macOS:

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

В 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-адресами. Серьезно, вот и все.

В Windows:

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

У меня была такая же проблема - в эмуляторе я был подключен к 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

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

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

Удачи!

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

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

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

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

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

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

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

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

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

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

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

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

И заработает.

2022 WebDevInsider