Эмулятор Android не может получить доступ к Интернету
Я знаю, что подобные вопросы задавались ранее, но моя проблема является новой только после установки Android Studio 2.3, последней версии в марте 2017 года. У меня есть несколько лет опыта разработки приложений для Android, и я никогда не сталкивался с этой проблемой раньше. После обновления до версии 2.3 Android Studio мой эмулятор больше не может выходить в Интернет. Я даже удалил / переустановил Android Studio 2.3 с нуля и создал новый эмулятор, и я все еще получаю ту же ошибку. Это не проблема приложения. Я даже не могу получить доступ к Интернету из Chrome, и у меня не было этой проблемы на прошлой неделе. Сообщение, которое я получаю, говорит о том, что DNS-адрес сервера не найден - DNS_PROBE_FINISHED_BAD_CONFIG. Единственное, что изменилось на моем компьютере за последнюю неделю, - это новая версия Android плюс, возможно, обновления для Windows 10. И да, мой компьютер имеет доступ к Интернету. Ниже приведено изображение моего эмулятора, когда я пытаюсь использовать Chrome для поиска "Google".
71 ответ
Для меня я просто изменил DNS-адрес своей сети на 8.8.8.8 и работал:
Как это сделать на MacOSX:
- Откройте "Системные настройки"
- Нажмите на "Сеть"
- Выберите сеть, к которой подключен ваш компьютер, и нажмите "Дополнительно".
- Выберите "DNS", нажмите кнопку "+", введите "8.8.8.8"
- Выберите "ОК" и "Применить"
Как это сделать в Windows и Linux:
https://developers.google.com/speed/public-dns/docs/using
После этого закройте эмулятор и запустите его снова.
Попробовав многие из этих решений, я собирался просто удалить свой текущий AVD и сделать его снова, но когда я нажал стрелку вниз на AVD, я заметил "Cold Boot Now".
По прихоти я это попробовал. И вот мой эмулятор снова подключен к интернету!
Я нашел временное решение в старом потоке переполнения стека в Upgrade Up to SDK 2.3 - теперь ни у каких эмуляторов нет подключения. Обратите внимание, что эта тема говорит об Android SDK 2.3, а не Android Studio 2.3. Кажется, проблема в том, что эмулятор не может найти DNS, который в данный момент использует мой компьютер, и временный обходной путь - запустить эмулятор из командной строки и указать DNS-сервер. Какие бы проблемы ни возникали тогда, они должны были появиться в последней версии Android Studio.
Временное решение, описанное ниже, устраняет проблему с эмулятором доступа в Интернет. Однако это не устраняет проблему, возникающую при попытке запустить Android Device Monitor. Это все равно заставит эмулятор отключиться, как описано выше.
Обратите внимание, что в sdk есть два файла с именем "emulator.exe" - один в разделе sdk\tools, а другой в sdk\emulator. Любой из них может работать ниже, но я использую тот, который находится под sdk\emulator.
Первый шаг - найти, где находится SDK. Если предположить имя пользователя "jdoe" и установку Android Studio по умолчанию в Windows, SDK, скорее всего, находится в
C:\Users\jdoe\AppData\Local\Android\sdk
Второй шаг - определить имя AVD (эмулятора), который вы хотите запустить. Команда
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds
покажет названия ваших AVD. На моем компьютере он показывает только один, Nexus_5X_API_25.
Чтобы запустить эмулятор из командной строки с указанным DNS-сервером, используйте что-то вроде следующего:
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8
В этом случае 8.8.8.8 является сервером имен публичного домена Google.
Вышеуказанные команды могут быть сокращены, если вы создадите соответствующие переменные среды и отредактируете переменную среды PATH, но я рекомендую соблюдать осторожность при этом.
[ОБНОВЛЕНИЕ 2020] для пользователей Mac
- Системные настройки
- Сеть
- WiFi > выберите Advanced
- Из Advanced Выберите вкладку DNS
- Добавить DNS-сервер 8.8.8.8
Обновление моего адаптера WIFI для разрешения DNS на 8.8.8.8 решило проблему для меня. Это начало происходить после обновления Apple, которое испортило адрес DNS.
Просто откройте AVD Manager и сотрите данные того эмулятора, который у меня работает.
Откройте эмулятор Android и перейдите в Extended Controls. Затем перейдите в настройки => прокси (вкладка) и снимите флажок "Использовать настройку прокси-сервера Android Studuio HTTP".
macOS: длинная история вкратце ... убедитесь, что ваши настройки DNS
8.8.8.8
является первым в очереди, протрите ваши данные и выполните холодную перезагрузку.
Напоминание: интернет-соединение эмулятора Android не работает, если вы включили систему VPN на вашем компьютере.
Я испытал эту же проблему после обновления. После открытия браузера Chrome в эмуляторе, google.com больше не мог быть достигнут.
Я нашел сообщение на SO, в котором говорилось, что проблема в том, что эмулятор пытается использовать отключенный сетевой адаптер. Для меня проблема возникала, когда я был подключен к локальной сети. Отключение адаптера беспроводной локальной сети решило проблему.
Чтобы отключить адаптер:
- Перейдите к сетевым подключениям
- Найти адаптер
- Щелкните правой кнопкой мыши и выберите отключить
Это случилось со мной, когда эмулятор замер, и мне пришлось убить процесс. Значок сигнала всегда показывал маленькую букву "х", как на скриншоте, и подключение к интернету не было успешным.
Единственное, что помогло, это удалить и переустановить эмулятор (не образы AVD)
В Android Studio:
Инструменты-> Android -> SDK Manager Снимите флажок "Эмулятор Android" и дайте ему удалить, затем проверьте снова и дайте установить снова.
Я также сталкиваюсь с той же проблемой, но я пытаюсь решить проблему, используя различные сообщения. Сегодня я обнаружил эту проблему. Скорее всего, проблема в конфигурации вашего компьютера, а не в Android Studio и эмуляторе Android.
Проблема исходит от вашей настройки сети. Просто установите Основной DNS-сервер на 8.8.8.8, что решит проблему.
Я получил простое и постоянное решение этой проблемы в Windows.
Перейти к сети и интернет вариант->
нажмите на Etherenet или Wi-Fi (для которого вы подключены) вариант ->
Нажмите на кнопку изменения адаптера ->
Щелкните правой кнопкой мыши сеть, к которой вы подключились.
Откроется диалоговое окно, и просто нажмите на опцию Интернет-протокол (TCP/IPv4).
Откроется другое диалоговое окно, в котором просто пропустите первый набор об IP-адресе (сохранить, как он задан) и щелкните переключатель " Использовать следующие адреса DNS-серверов": и введите как 8.8.8.8 в " Предпочитаемый DNS-сервер": и 8.8.4.4 на альтернативном DNS сервере:
Теперь вы можете открыть свой эмулятор в любое время, и вы получите интернет в эмуляторах Android.
Для меня проблема была вызвана тем, что я взял свой ноутбук домой без перезапуска эмулятора. Из того, что я прочитал, при запуске эмулятора он читает настройки DNS вашего ПК и использует их. Когда я был в своей домашней сети, мои рабочие настройки DNS не работали.
Так что да. Перезапуск эмулятора решил мою проблему.
Это было проблемой для меня в прошлый раз, когда эмулятор обновлялся сам, и тогда отключение других сетевых адаптеров исправляло это. Теперь он снова обрезается, но единственный включенный адаптер - это один Wi-Fi, так что мне нечего отключать.
Проблема появилась только после того, как я обновил через эмулятор инструменты до 26.1.1. Я удалил и переустановил эмулятор через вкладку обновления SDK Tools, и, к счастью, единственная возможность при повторной установке прямо сейчас - это установить 26.0.3 (которая, кажется, работает нормально).
Мораль этой истории - быть очень осторожным с обновлениями эмулятора.
У некоторых индийских интернет-провайдеров и других возникают проблемы сIPv6
маршрутизация, которая приводит к тому, что наше приложение не подключается к Интернету или внутреннему серверу API.
Чтобы решить эту проблему, мы можем вручную назначитьIPv4
обращается к эмулятору, который решает эту проблему.
Сначала давайте запишем адрес, который динамически назначается вашему эмулятору.
Вы можете убедиться в этом, зайдя в Настройки эмулятора -> Сеть и Интернет -> Интернет Android Wifi -> Android Wifi .
Запишите адрес IPv4, шлюз и маску подсети.
- Теперь нажмите на значок редактирования в правом верхнем углу. Нажмите «Дополнительные параметры». Выберите статические настройки. Введите
IP
адрес, который вы записали на предыдущем шаге. и в DNS1 используйте8.8.8.8
. Нажмите кнопку «Сохранить». Теперь ваш Интернет должен работать.
Я столкнулся с этой проблемой после того, как оставил свой эмулятор включенным, когда шел из дома в кафе. "Холодная загрузка сейчас" устранила проблему.
После 10 дней неприятностей, я просто удалил все из C:\Android\.android\
и удалил все созданные AVD. Теперь интернет работает нормально.
Закрытие эмулятора и повторное открытие работали для меня
ОС WINDOWS 10
Apple Макбук М1
Ни один из ответов не сработал для меня на Mac m1, я даже не смог подключиться к локальному хосту для сервера разработки, ориентированного на реакцию.
Хитрость для меня заключалась в том, чтобы отключить сотовые данные «T-Mobile», тогда он будет использовать AndroidWiFi для Интернета, и все будет работать нормально.
Пожалуйста, пройдите по ссылке ниже.
https://developer.android.com/studio/run/emulator-networking
Откройте эмулятор, нажмите "Еще …", а затем нажмите "Настройки и прокси". Отсюда вы можете определить свои собственные настройки HTTP-прокси.
Введите имя хоста, выполнивRun> cmd> hostname
Наконец, проверьте доступ к Интернету внутри эмулятора, просмотрев Chrome или Google.
Примечание. Часто проблема с удалением данных решается. Пожалуйста, следуйте всем шагам
У меня тоже была проблема, отключив прокси в настройках Android Studio и запустив эмулятор с "Холодной загрузкой сейчас", проблема была решена.
Я на андроид студии 3.1 и это случилось. Решил это путем перезапуска сервера adb
$ adb kill-server
$ adb start-server
Надеюсь, поможет. Спасибо
Попробуйте эти шаги один раз, у меня они сработали:
- Отключите ваш компьютер от интернета
- Закройте эмулятор, пока вы все еще отключены
- Снова подключитесь к Интернету
- Наконец-то снова запустите свой эмулятор
Решение для MacOS, которое не использует настраиваемый DNS для всей машины
Шаг 1
Найдите исполняемый файл, который Android Studio использует внутри Android SDK, и переименуйте его в
emulator-original
.
Шахта расположена
/usr/local/share/android-sdk/emulator/emulator
но это может варьироваться в зависимости от индивидуальных настроек.
Шаг 2
Добавьте новый файл, вызываемый вместо исходного файла, содержащегося в следующей команде (или используя выбранный вами DNS-сервер).
#!/bin/bash
$0-original "$@" -dns-server 8.8.8.8
Шаг 3
Сделайте новый
emulator
исполняемый файл.
chmod +x emulator
Шаг 4
Перезагрузите эмулятор с помощью Android Studio.
Если Android-браузер может получить доступ к Интернету, вы можете запустить эмулятор с терминала с помощью этой команды
перейдите в путь SDK, то
$ /tools/emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full
это решит вашу проблему с интернетом...