Encontramos la solución a esta traba, o por lo menos eso esperamos. Si tienes dudas puedes dejarlo en el apartado de comentarios, para nosotros será un placer responderte
Solución:
A continuación se indican las soluciones para Windows y Mac, pero soluciones similares funcionarán en cualquier sistema operativo:
-
en ventanas
- Abierto Redes y recursos compartidos y haga clic en actual Conexión
- Haga clic en Propiedades
- Haga doble clic en Protocolo de Internet versión 4 (TCP/IPv4)
-
Establezca los servidores DNS preferidos y alternativos como (Captura de pantalla a continuación):
8.8.8.8 8.8.4.4
-
En Mac
- Ir a Configuración > Red > Avanzado… > DNS
-
Elimine las entradas que tenga allí y agregue estas dos entradas (Captura de pantalla a continuación):
8.8.8.8 8.8.4.4
Nota: Para usuarios de Mac, si el campo de entradas está deshabilitado y no puede editarlo, haga clic en el ícono ‘Bloquear’ en el área inferior de esa ventana e ingrese la contraseña para poder hacer cambios
Reinicie el emulador, y debería resolver:
Capturas de pantalla:
- ventanas
- Mac
Editar: esta es la solución para una situación en la que el wifi del emulador ha cambiado el DNS a un DNS que no funciona. Si bien esto funciona la mayor parte del tiempo, también puede haber otras razones que pueden no solucionarse con esta solución.
Mi solución usando Mac OSX 10.13
Leí que esto se debe a que la tarjeta LAN y WiFi están habilitados, y algunos enfoques me parecieron complicados, así que simplemente probé esto y funcionó:
- Wi-Fi desactivado en mi portátil.
- Apague el emulador.
- Hizo un arranque en frío en el emulador (Administrador de AVD -> en acciones del emulador -> Arranque en frío ahora).
- Después de reiniciar con el WiFi de la computadora portátil deshabilitado, el emulador mostró una conexión WiFi adecuada (el emulador aún muestra AndroidWifi pero está conectado a Internet de mi computadora portátil. El símbolo de WiFi ahora se ve así: Símbolo de WiFi conectado)
- Luego habilité WiFi en mi computadora portátil y todo funcionó.
@TheBaj: descubrí el problema con esto y lo solucioné. El problema es que cuando está conectado a través del enrutador, Androidwifi en su emulador usa la configuración y establece el DNS en algo diferente a 8.8.8.8, que es el DNS de Google (supongo que esta es una configuración obligatoria para Androidwifi para obtener Internet acceso). Pero si cambio el DNS en la configuración de mi red, el complemento de servicios de Google que obtiene sus dependencias, especialmente la que se está descargando. jcenter()
no se descargará y, por lo tanto, su sincronización fallará, lo que eventualmente fallará en su compilación.
Entonces, el truco es que tiene su DNS de Google (8.8.8.8) configurado en la configuración de su red después de la configuración predeterminada del enrutador; esta parte se encarga de descargar las dependencias de jcenter()
y la sincronización y la compilación se realizan correctamente.
Ahora inicie su emulador con emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
comando desde la terminal que obliga al emulador a usar 8.8.8.8 como su DNS y el emulador tendrá internet.
Estoy trabajando en una aplicación nativa de reacción, por lo que para mí Android Studio no es necesario y configuré mi bashrc para iniciar los diferentes emuladores de la siguiente manera:
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
Entonces, desde una terminal, ejecuto el emulador de mi elección y luego ejecuto la compilación en otra terminal que ejecuta mi aplicación en el emulador lanzado y MI EMULADOR TIENE ACCESO A INTERNET. 🙂
Pruebe esto y espero que esto ayude.
Gracias, Vikram
Más adelante puedes encontrar las observaciones de otros programadores, tú de igual manera tienes la habilidad insertar el tuyo si dominas el tema.