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

91

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

Викрам Махиши
источник
разве он еще не включен?
У меня такая же проблема. Он работает через точку доступа моего телефона, но не через маршрутизатор. Какой у вас роутер? Раньше все работало нормально, когда у меня был маршрутизатор AVM, но теперь у меня есть маршрутизатор Telekom Speedport, и он больше не будет работать.
TheBaj 05
1
@TheBaj: Возможно, проблема здесь не в типе маршрутизатора, а может быть, но я не знаю. Попробуйте решение ниже, которое сработало для меня.
Викрам Махиши 05
1
@VikramMahishi просто обновите эмулятор Android SDK. У меня это работает.
Зала Джанаксинх

Ответы:

176

Ниже приведены решения для 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 не подключается к интернет-решению в Windows

  1. Mac

Эмулятор Android не подключается к интернет-решению на Mac


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

Раман Сахаси
источник
6
Меня очень озадачила эта проблема. Это решает ее безупречно. Престижность!
Виджай Кумар Канта
1
Спасибо. Я бы никогда не понял этого сам!
pkozlowski 06
столкнуться с этим с помощью эмуляторов Android 8 Oreo (AVD) в студии Android. либо флаг cli, либо общесистемное изменение DNS исправили его.
Том
1
Спасибо! боролся с этой ошибкой более 3 дней
Р.Л. Шьям
2
Спасибо !!!! у меня это сработало, 8.8.8.8 8.8.4.4
kallayya Hiremath
93

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

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

  • Отключил WiFi на моем ноутбуке.
  • Выключил эмулятор.
  • Выполнил «холодную» загрузку эмулятора (AVD Manager -> в действиях эмулятора -> «Холодная загрузка»).
  • После перезагрузки с отключенным Wi-Fi на ноутбуке эмулятор показал правильное соединение Wi-Fi (эмулятор по-прежнему показывает AndroidWifi, но подключен к Интернету на моем ноутбуке. Теперь символ Wi-Fi выглядит так: символ Wi-Fi подключен )
  • Затем я включил Wi-Fi на своем ноутбуке, и все заработало.
Хуанги Йордан
источник
Это сработало, и я сделал «стереть данные» перед «холодной загрузкой» и должен был настроить WiFi в эмуляторе, при прокрутке вниз на главном экране появилось уведомление.
Мануэль
2
Сработало у меня! Я только что сделал холодную перезагрузку с отключенным Wi-Fi, и он работал нормально.
Hasen
Работал у меня. Спасибо.
Майкл Анджело Рейес
Работал как шарм !! Спасибо :)
САРА САСИ
Это лучший ответ.
Ахмед Мостафа,
40

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

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

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

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

Викрам Махиши
источник
Спасибо, теперь работает. Потратил на это весь день: /
TheBaj
'эмулятор' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
Бхупеш
@Bhupesh смотри %HOME%\AppData\Local\Android\Sdk\emulator- вот где я это нашел.
t3chb0t
9

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

Шаги:

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

Пранит
источник
Это единственный ответ, который у меня сработал, спасибо!
Arià
6

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

Wi-Fi эмулятор Android подключен без интернет-решения для Windows

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

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

Индракула
источник
4

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

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

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

Справочный снимок экрана:

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

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

Хирен Патель
источник
4

Для меня это помогло: в Mac OSX (для меня Catalina) проблема вызвана тем фактом, что эмулятор автоматически подбирает nameserver, просматривая /etc/resolv.confи выбирая первый, в моем случае адрес IPv6. Источник

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

Серьезно, вот и все. От Деметриоса Кристофера

Харченко Игорь
источник
Спасибо, что нашли время дать ответ.! Можете ли вы: - 1) отредактировать свой ответ так, чтобы ответ был более подробным. 2) Объясните, чего вы пытаетесь достичь с помощью этого ответа и что вы хотите сказать.? См. Как мне написать хороший ответ в Справочном центре для получения дополнительной информации (Как спросить: stackoverflow.com/help/how-to-answer )
Пареш Мангукия,
3

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

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

Шеша Вишну Прасад
источник
Мне просто нужно было холодно перезагрузить эмулятор
KvdLingen
3

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 не будет.

Дополнительная информация о Google DSN

Винаяк
источник
1
К сожалению, нам нужен VPN, когда WFH. Не могу поверить, что Google уже много лет оставляет эту проблему.
Ю-Лян Ши
3

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

Деметриос Кристофер
источник
1
Вау, невероятно, но у меня это сработало, спасибо.
Jhegs
3

В macOS:

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

В Windows:

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

Хамид Шоджа
источник
2

Решение для 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 будет подключен к Интернету.

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

Шехзад Усама
источник
0

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

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

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

MiguelSlv
источник
0

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

MachineBreaker
источник
0

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

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

Удачи!

Эдуардо А дель Корраль Лира
источник
0

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

Сентил Кумар Мурти
источник
0

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

маньяк
источник
0

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

  • Шаги: -

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