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, но аналогичные решения подойдут для любой ОС:
В Windows
На Mac
- Перейдите в Настройки> Сеть> Дополнительно...> DNS
Удалите все записи, которые у вас есть, и добавьте эти две записи (снимок экрана ниже):
8.8.8.8
8.8.4.4
Примечание. Для пользователей Mac: если поле ввода отключено и вы не можете его редактировать, нажмите значок "Блокировка" в нижней части этого окна и введите пароль, чтобы иметь возможность вносить изменения
Перезапустите эмулятор, и он должен решить:
Скриншоты:
- Окна
- 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
Ответ 5
Ну, я сделал это так:
Шаги для добавления ручного прокси:
- Перейти в настройки эмулятора
- Перейти на вкладку Прокси
- Установить ручную настройку прокси
- Добавьте ваше имя хоста и номер порта
- Нажмите на Применить
Эталонный снимок экрана:
Надеюсь, поможет.
Ответ 6
В Windows:
После тестирования некоторых решений я нашел свое решение, щелкнув стрелку вниз на AVD, параметр "Холодная загрузка сейчас".
после загрузки у Android был доступ к интернету, поэтому он работал для меня.
Ответ 7
Это работает для меня:
fooobar.com/questions/29737/...
Я только выключаю и включаю Wi-Fi соединение.
Ответ 8
Что сработало для меня:
- Выключите эмулятор (используя кнопку питания)
- Запустите приложение на другом эмуляторе, а затем закройте его.
- Теперь снова запустите приложение в предыдущем эмуляторе.
Ответ 9
Если точка доступа Wi-Fi изменилась, просто перезапустите эмулятор, чтобы эмулятор обновил настройки сети из службы dhcp.