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

Ответы

Ответ 1

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

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

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

Я работаю над адаптивным приложением, поэтому для меня андроид-студия не нужна, и я настроил мой 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
   }

Таким образом, с одного терминала я запускаю эмулятор по своему выбору, а затем запускаю сборку на другом терминале, который запускает мое приложение на запущенном эмуляторе, а MY FREAKING EMULATOR - ИНТЕРНЕТ-ДОСТУП. :)

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

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

Ответ 2

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

Android emulator not connecting to internet solution on windows

  1. Mac

Android emulator not connecting to internet solution on a mac


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

Ответ 3

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

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

  • Отключен WiFi на моем ноутбуке.
  • Выключил эмулятор.
  • Сделал холодную загрузку на эмуляторе (AVD Manager → на действиях эмулятора → Cold Boot Now).
  • После перезагрузки с отключенным WiFi эмулятор показал правильное соединение WiFi. Затем я включил WiFi на своем ноутбуке, и все заработало.

Ответ 4

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

Android Emulator wifi connected with no internet solution for windows

Ответ 5

Ну, я сделал это так:

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

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

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

enter image description here

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

Ответ 6

В Windows:

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

Ответ 7

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

fooobar.com/questions/29737/...

Я только выключаю и включаю Wi-Fi соединение.

Ответ 8

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

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

Ответ 9

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