Я потратил целый день, пробуя различные решения, плавающие в 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: Возможно, проблема здесь не в типе маршрутизатора, а может и в самом деле, но я не знаю. Попробуйте решение ниже, которое сработало для меня.
@VikramMahishi просто обновите эмулятор Android SDK. У меня это работает.
@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 см. %HOME%\AppData\Local\Android\Sdk\emulator - вот где я его нашел.
Ниже приведены решения для Windows и Mac, но аналогичные решения будут работать в любой ОС:
В Windows
Установите предпочтительный и альтернативный DNS-серверы как (снимок экрана ниже):
8.8.8.8
8.8.4.4
На Mac
Удалите все записи, которые у вас есть, и добавьте эти две записи (снимок экрана ниже):
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
Перезагрузите эмулятор, и он должен решить:
Скриншоты:
Обновлено: это исправление ситуации, когда Wi-Fi эмулятора изменил DNS на какой-то неработающий DNS. Хотя это работает большую часть времени, могут быть и другие причины, которые не могут быть исправлены с помощью этого решения.
столкнуться с этим с помощью эмуляторов Android 8 Oreo (AVD) в студии Android. либо флаг cli, либо изменение DNS в масштабе всей системы исправили это.
N.B. Обязательно выключите, а затем перезапустите эмулятор. Если вы перезапустите эмулятор из настроек Android, он не будет работать
Это и холодная перезагрузка AVD исправили это
На самом деле, ввод любого действительного адреса DNS-сервера общественный должен работать, нет необходимости специально использовать Google DNS. По умолчанию часто используется адрес вашего маршрутизатора, который установлен как DNS (или отсутствует, что в большинстве систем возвращается к вашему маршрутизатору). Затем ваш маршрутизатор определит правильный DNS в соответствии с его конфигурацией. Однако это не работает для эмулятора, поскольку эмулятор не может напрямую подключаться к вашему маршрутизатору или использовать его в качестве DNS, я полагаю. Следовательно, необходимость в статическом общедоступном IP-адресе DNS.
в первый раз это не сработало. Просто работал после включения и отключения режима полета. После этого он как будто все перезагружает и начинает работать
Ага! Эмулятор обязательно выключить. Спасибо за решение
После выключения и повторного запуска эмулятора у меня все заработало.
Мое решение с использованием Mac OSX 10.13
Я читал о том, что это вызвано включением сетевой карты и Wi-Fi, и некоторые подходы мне показались сложными, поэтому я просто попробовал это, и это сработало:
Это сработало, и я сделал «стереть данные» перед «холодной загрузкой» и должен был настроить WiFi в эмуляторе, при смахивании вниз на главном экране появилось уведомление.
Сработало у меня! Я только что сделал холодную перезагрузку с отключенным Wi-Fi, и он работал нормально.
Это лучший ответ.
Удивительный!!! Спасибо!!! Но для меня - мне пришлось отключить и включить Wi-Fi на эмуляторе.
Спасибо за полезное решение. Думаю, следует выбрать этот ответ.
Это гораздо лучшее решение, чем изменение глобальных настроек DNS на вашем компьютере.
Это сработало в начале 2021 года!
@StephanBakkelundValois в начале 2021 года, у меня тоже это сработало, за исключением того, что мне не пришлось выполнять холодную перезагрузку. Я просто отключил подключение к ноутбуку, перезапустил эмулятор, затем подключился к сети AndroidWifi, и доступ в Интернет снова заработал.
В Windows:
После тестирования некоторых решений я нашел свое, щелкнув стрелку вниз на AVD, опция «Холодная загрузка сейчас». после загрузки у Android был доступ к Интернету, так что у меня это сработало.
Что сработало для меня:
Если точка доступа Wi-Fi изменилась, просто перезапустите эмулятор, чтобы эмулятор обновил настройки сети из службы DHCP.
Сброс настроек сети в эмуляторе Android устраняет эту проблему.
Удалите данные, щелкнув правой кнопкой мыши по списку виртуальных устройств, и холодная загрузка у меня работает.
У меня сработала простая холодная перезагрузка, не нужно запускать другие эмуляторы и стирать память.
Просто закройте свой эмулятор и выберите параметр «Холодная загрузка сейчас» в раскрывающемся меню рядом с кнопкой воспроизведения. Если вы не ищите какой-либо из более полных вариантов, перечисленных здесь, но я предлагаю всегда начинать с самого простого решения.
Удачи!
Возможно, попробуйте использовать локальную сеть, если она есть. Для меня это действует как амулет ...
Для новых пользователей поисковика: Иногда VPN - ваше решение Изменение настроек сети не всегда возможно из-за сетевых проблем. Если вы используете IP-адреса, которые Google не отвечает для этих регионов, ваше решение использует vpn. Используйте правильный vpn (через него вы можете обновить свою студию Android). Когда ваш vpn запускается, ваше устройство avd ( Конечно, уровень api вашего эмулятора важен, например, у меня нет проблем с api 22, но для api 28 необходимо использовать vpn!) Это был мой опыт работы с эмулятором Android в Интернете.
Измените местоположение эмулятора и установите его на свое текущее местоположение.
Шаги: -
Может, это кому-то поможет. Я перепробовал все вышеперечисленные решения. Смена 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 не будет.
К сожалению, нам нужен VPN, когда WFH. Не могу поверить, что Google оставил эту проблему на долгие годы.
Решение для 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 будет подключен к Интернету.Надеюсь это поможет.
Да, это сработало только у меня. Раньше показывалось соединение, но не было интернета. После реализации вашего решения это начало работать.
@ ashishdhiman2007 Приятно слышать, что ваша проблема решена с помощью моего решения :)
В 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
В macOS:
Если бы только это не убило IPv6 на главном Mac :(
Если у вас подключен какой-либо VPN - попробуйте отключить его.
Для меня это был VPN через Cisco AnyConnect Secure Mobility Client. Как только я закрыл клиент Cisco (который разрывает VPN-соединение), WiFi на эмуляторе Android начал работать.
Спасибо, вы меня спасли :) Я использовал NordVPN, отключение помогло.
@ymerdrengene рад, что это помогло! :)
У меня тоже есть этот VPN. В моем случае я сначала отключаю VPN, а затем перезапускаю эмулятор («Холодная загрузка сейчас»). Затем эмулятор подключается к Интернету. После этого снова подключитесь к VPN, и эмулятор продолжит работу.
Также это зависит от URL-адреса VPN. Эмулятор, работающий через «Cisco AnyConnect Secure Mobility Client», может или не может подключаться к Интернету с другими URL-адресами VPN.
У меня была такая же проблема - в эмуляторе я был подключен к 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. Другие версии будут аналогичными:
Это исправило это для меня после того, как я безуспешно попробовал все другие решения, найденные на этой странице, и многие другие. Надеюсь, это сработает для вас.
Спасибо, сработало. Теперь это должен быть правильный ответ.
единственное решение, которое работает
В 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. Это решило мою проблему.
разве он еще не включен?