@ TheBaj: Я решил проблему с этим и исправил ее.Проблема в том, что когда вы подключены через роутер, androidwifi в вашем эмуляторе использует настройки и устанавливает DNS на что-то отличное от 8.8.8.8, которое является google DNS (я предполагаю, что это своего рода обязательная настройка для androidwifi для получения интернетадоступ).Но если я изменю DNS в настройках своей сети, плагин google-services, который извлекает ваши зависимости, особенно загружаемые из jcenter()
, не будет загружен, и, следовательно, ваша синхронизация не удастся, что в итоге приведет к сбою сборки.
Таким образом, хитрость заключается в том, что ваш DNS-сервер Google (8.8.8.8) настроен в настройках сети после настроек маршрутизатора по умолчанию - эта часть обеспечивает загрузку зависимостей из jcenter()
, а синхронизация и сборка завершаются успешно.
Теперь запустите ваш эмулятор с помощью команды emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
из терминала, которая заставляет эмулятор использовать 8.8.8.8 в качестве DNS, и у эмулятора будет Интернет.
Я работаю над собственным приложением, поэтомудля меня android studio не нужна, и я настроил свой 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 HAДоступ в Интернет.:)
Попробуйте, и я надеюсь, что это поможет.
Спасибо, Викрам