El emulador de Android no puede acceder a Internet

Resuelto John Moore asked hace 54 años • 0 respuestas

Sé que se han hecho preguntas similares antes, pero mi problema es nuevo solo después de instalar Android Studio 2.3, la última versión en marzo de 2017. Tengo varios años de experiencia desarrollando aplicaciones de Android y nunca antes me había encontrado con este problema. Después de actualizar a la versión 2.3 de Android Studio, mi emulador ya no puede acceder a Internet. Incluso desinstalé/reinstalé Android Studio 2.3 desde cero y creé un nuevo emulador, y sigo recibiendo el mismo error. Este no es un problema de la aplicación. Ni siquiera puedo acceder a Internet desde Chrome y no tuve este problema la semana pasada. El mensaje que recibo dice que no se pudo encontrar la dirección DNS del servidor: DNS_PROBE_FINISHED_BAD_CONFIG. Lo único que ha cambiado en mi computadora durante la última semana es la nueva versión de Android y posiblemente actualizaciones de Windows 10. Y sí, mi computadora tiene acceso a Internet. A continuación se muestra una imagen de mi emulador cuando intento usar Chrome para buscar "Google". emulador con mensaje de error

John Moore avatar Jan 01 '70 08:01 John Moore
Aceptado
  • Primero intente "arrancar en frío" el emulador como se sugiere aquí .

  • Si el arranque en frío no funciona, intenta cambiar la dirección DNS de tu red a 8.8.8.8 (DNS de Google) u otra de tu preferencia:

Mac OS X:

  • Abra "Preferencias del sistema"
  • Haga clic en "Red"
  • Seleccione la red a la que está conectado su ordenador y haga clic en "Avanzado"
  • Selecciona "DNS", Selecciona el botón "+", escribe "8.8.8.8" (DNS de Google) o si prefieres OpenDNS, "208.67.222.222"
  • Seleccione "Aceptar" y "Aplicar"

Windows y Linux:

https://developers.google.com/speed/public-dns/docs/using


Después de eso, cierre el emulador y reinícielo.

Ana Paula avatar Mar 17 '2018 03:03 Ana Paula

Después de probar muchas de estas soluciones, iba a simplemente eliminar mi AVD actual y crearlo nuevamente, pero cuando hice clic en la flecha hacia abajo en el AVD, noté "Arranque en frío ahora".

Menú AVD

Por capricho lo intenté. ¡He aquí que mi emulador vuelve a tener conectividad a Internet!

Enfoque de línea de comando

En caso de que inicie el emulador mediante un comando, pase -no-snapshot-loadla opción, como:

%ANDROID_HOME%/emulator/emulator.exe -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

O para MacOSX:

$ANDROID_HOME/emulator/emulator -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

Tenga en cuenta que es posible que deba cambiar -avd Pixel_2_API_28la pieza (con su propio nombre de dispositivo virtual).

Además, la mayoría de las herramientas usan ANDROID_HOMEnombres de variables de entorno, por lo tanto, defínalos (si no lo están ya), pero hoy en día ANDROID_ROOThay otra opción de nombres.

Decisión (editar)

Bien, para aquellos que dicen por qué no simplemente borrar los datos y reiniciar. ¿Formateas tu PC cada vez que la reinicias? Borrar datos en el emulador es como restablecer los valores de fábrica de un teléfono o reformatear el disco duro de su PC y reinstalar su sistema operativo. Es innecesario a menos que los datos estén totalmente corruptos.

Cuando apagas el emulador y lo reinicias, es como poner tu PC en modo de hibernación o suspensión. La memoria no se borra, se guarda.

Hacer un arranque en frío es lo mismo que reiniciar su teléfono o reiniciar su PC. Restablece la memoria y permite que las cosas se recarguen. Esto permite que la emulación de red comience con la memoria limpia y se conecte correctamente.

Por lo tanto, no borres tus datos. Sólo arranque en frío. Si aún no funciona, límpielo, pero guárdelo como último recurso.

Timothy Winters avatar May 03 '2018 23:05 Timothy Winters

Encontré una solución temporal en un antiguo hilo de Stack Overflow en Actualizado a SDK 2.3: ahora ningún emulador tiene conectividad . Tenga en cuenta que este hilo habla sobre Android SDK 2.3, no sobre Android Studio 2.3. El problema parece ser que el emulador no puede encontrar el DNS que mi computadora está usando actualmente y la solución temporal es iniciar el emulador desde la línea de comando y especificar el servidor DNS. Cualquier problema que haya ocurrido en aquel entonces debe haber reaparecido en la última versión de Android Studio.

La solución temporal que se describe a continuación soluciona el problema con el acceso del emulador a Internet. Sin embargo, no soluciona el problema que ocurre al intentar ejecutar Android Device Monitor. Al hacerlo, el emulador se desconectará como se describe anteriormente.

Tenga en cuenta que hay dos archivos denominados "emulator.exe" en el SDK: uno en sdk\tools y otro en sdk\emulator. Cualquiera de los dos podría funcionar a continuación, pero yo uso el que se encuentra en sdk\emulator.

El primer paso es encontrar dónde se encuentra el SDK. Suponiendo un nombre de usuario "jdoe" y una instalación predeterminada de Android Studio en Windows, lo más probable es que el SDK esté en

C:\Users\jdoe\AppData\Local\Android\sdk

El segundo paso es determinar el nombre del AVD (emulador) que desea ejecutar. El comando

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds

mostrará los nombres de sus AVD. En mi computadora, muestra solo uno, Nexus_5X_API_25.

Para iniciar el emulador desde la línea de comando con un servidor DNS específico, use algo como lo siguiente:

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8

En este caso, 8.8.8.8 es un servidor de nombres de dominio público de Google.

Los comandos anteriores se pueden acortar si crea variables de entorno apropiadas y edita su variable de entorno PATH, pero recomiendo tener precaución al hacerlo.

John Moore avatar Mar 14 '2017 11:03 John Moore