Я потратил целый день, пробуя различные решения, плавающие в 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, но он не работает, когда я подключаю свой компьютер к домашнему маршрутизатору.
источник
Ответы:
Ниже приведены решения для Windows и Mac, но аналогичные решения будут работать в любой ОС:
В Windows
Установите предпочтительный и альтернативный DNS-серверы как (снимок экрана ниже):
8.8.8.8 8.8.4.4
На Mac
Удалите все имеющиеся там записи и добавьте эти две записи (снимок экрана ниже):
8.8.8.8 8.8.4.4
Примечание: для пользователей Mac: если поле ввода отключено и вы не можете его редактировать, щелкните значок «Блокировка» в нижней части этого окна и введите пароль, чтобы иметь возможность вносить изменения.
Перезапустите эмулятор, и он должен решить:
Скриншоты:
Изменить: это исправление ситуации, когда Wi-Fi эмулятора изменил DNS на какой-то неработающий DNS. Хотя это работает в большинстве случаев, могут быть и другие причины, которые не могут быть устранены с помощью этого решения.
источник
Мое решение с использованием Mac OSX 10.13
Я читал, что это вызвано включением сетевой карты и Wi-Fi, и некоторые подходы мне показались сложными, поэтому я просто попробовал это, и это сработало:
источник
@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 }
Итак, с одного терминала я запускаю эмулятор по своему выбору, а затем запускаю сборку на другом терминале, который запускает мое приложение на запущенном эмуляторе, и МОЙ ЧУВСТВИТЕЛЬНЫЙ ЭМУЛЯТОР ИМЕЕТ ДОСТУП В ИНТЕРНЕТ. :)
Попробуйте это, и я надеюсь, что это поможет.
Спасибо, Викрам
источник
%HOME%\AppData\Local\Android\Sdk\emulator
- вот где я это нашел.У меня была такая же проблема, и я решил ее, выполнив следующие шаги.
Шаги:
источник
Я решил с помощью Google DNS на сетевом адаптере
8.8.8.8
и8.8.4.4
источник
Удалите данные, щелкнув правой кнопкой мыши по списку виртуальных устройств, и холодная загрузка у меня работает.
источник
Ну я так сделал:
Шаги по добавлению прокси вручную:
Справочный снимок экрана:
Надеюсь, это поможет.
источник
Для меня это помогло: в Mac OSX (для меня Catalina) проблема вызвана тем фактом, что эмулятор автоматически подбирает
nameserver
, просматривая/etc/resolv.conf
и выбирая первый, в моем случае адрес IPv6. ИсточникПросто отредактируйте файл (
$ sudo vi /etc/resolv.conf
) и переместите IPv4-адрес (192.168.1.1
в моем случае) на первый, перед IPv6-адресами.Серьезно, вот и все. От Деметриоса Кристофера
источник
Может, это кому-то поможет. Я перепробовал все вышеперечисленные решения. Смена DNS, холодная загрузка и т. Д. После нескольких часов проб и ошибок я обратился к официальной документации, в которой говорилось, что эмулятор подхватывает конфигурацию DNS. хост-машины во время загрузки эмулятора. На моем компьютере была установлена программа VMWare, которая устанавливает несколько сетевых адаптеров. Итак, я просто изменил конфигурацию DNS. всех адаптеров (включая адаптеры VMWare) и холодно загрузил мой эмулятор. OMG, проблема, которая, казалось, не исчезла в течение нескольких часов, просто разрешилась!
Что мне показалось странным, так это то, что я вернул конфигурацию DNS. всех адаптеров на авто, и снова холодная загрузка моего эмулятора. Wi-Fi по-прежнему работает нормально. ОС: Windows 10.
источник
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
Примечание: если VPN включен, отключать VPN не будет.
источник
В 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:
источник
В Windows:
После тестирования некоторых решений я нашел свое, щелкнув стрелку вниз на AVD, опция «Холодная загрузка сейчас». после загрузки у Android был доступ к Интернету, так что у меня это сработало.
источник
Решение для Windows:
emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8
. ЗдесьNexus_4_API_29
будет имя вашего эмулятора (вы можете найти его в списке устройств в Android Studio -> AVD Manager). Эта команда запустит указанное вами устройство, и Wi-Fi будет подключен к Интернету.Надеюсь это поможет.
источник
Что сработало для меня:
источник
Если точка доступа Wi-Fi изменилась, просто перезапустите эмулятор, чтобы эмулятор обновил настройки сети из службы DHCP.
источник
Сброс настроек сети в эмуляторе Android устраняет эту проблему.
источник
У меня сработала простая холодная перезагрузка, не нужно запускать другие эмуляторы и стирать память.
Просто закройте свой эмулятор и выберите параметр «Холодная загрузка сейчас» в раскрывающемся меню рядом с кнопкой воспроизведения. Если вы не ищите какой-либо из более полных вариантов, перечисленных здесь, я предлагаю всегда начинать с самого простого решения.
Удачи!
источник
Возможно, попробуйте использовать локальную сеть, если она есть. Для меня это действует как амулет ...
источник
Для новых пользователей поисковой системы: иногда VPN - ваше решение. Изменение настроек сети не всегда возможно из-за сетевых проблем. Если у вас IP-адреса, которые Google не отвечает для этих регионов, ваше решение использует vpn. Используйте правильный vpn (через него вы можете обновить свою студию Android). Когда ваш vpn запускается, ваше устройство avd ( Конечно, уровень api вашего эмулятора важен, например, у меня нет проблем с api 22, но для api 28 необходимо использовать vpn!) Это был мой опыт работы с эмулятором Android в Интернете.
источник
Измените местоположение эмулятора и установите его на свое текущее местоположение.
Шаги: -
источник