Android Studio - Emulador de Android Wifi conectado sin Internet


90

He perdido un día entero probando diferentes soluciones flotando en SO y otros lugares mencionados para habilitar wifi en el emulador de Android, pero fue en vano. ¿Alguien puede ayudarme a descubrir cómo habilito Internet en mi emulador de Android?

Tengo Nexus 5X API 27 y el objetivo es Android 8.1 (Google Play) y Nexus 5 API P y el objetivo es Android 7.1.1.

Creo que debería haber una manera de habilitar Internet o, de lo contrario, el objetivo de proporcionar wifi virtual en el emulador parece ser un desperdicio.

Estoy en mac OS HS 10.13.4 conectado directamente a mi enrutador sin proxy.

Incluso intenté eliminar todos los AVD y volver a instalarlos. Incluso intenté haber instalado el último Pixel 2 con Oreo Android 8.1

Nada parece funcionar. ¿Alguien ha enfrentado este problema y ha encontrado una solución?

Cualquier ayuda sería de gran ayuda

Gracias, Vikram

Actualización: cuando conecto mi computadora a través de mi teléfono como punto de acceso wifi, el emulador tiene internet a través de wifi, pero falla cuando conecto mi computadora al enrutador de mi casa.


¿no lo ha habilitado ya?

Tengo el mismo problema. Funciona a través del punto de acceso de mi teléfono, pero no a través de mi enrutador. ¿Qué clase de router tienes? Todo solía funcionar bien antes cuando tenía un enrutador AVM, pero ahora tengo un enrutador Telekom Speedport y ya no funcionará.
TheBaj

1
@TheBaj: El tipo de enrutador puede no ser el problema aquí o puede serlo, pero no lo sé. Pruebe la solución a continuación que funcionó para mí.
Vikram Mahishi

1
@VikramMahishi acaba de actualizar el emulador de su SDK de Android. Me está funcionando.
Zala Janaksinh

Respuestas:


174

A continuación se indican las soluciones para Windows y Mac, pero soluciones similares funcionarán en cualquier sistema operativo:

  1. En Windows

    • Abra el Centro de redes y recursos compartidos y haga clic en Conexión actual
    • Haga clic en Propiedades
    • Haga doble clic en Protocolo de Internet versión 4 (TCP / IPv4)
    • Configure los servidores DNS alternativos y preferidos como (captura de pantalla a continuación):

      8.8.8.8
      8.8.4.4
      
  2. En Mac

    • Vaya 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 los usuarios de Mac, si el campo de entradas está deshabilitado y no puede editarlo, haga clic en el icono 'Bloquear' en el área inferior de esa ventana e ingrese la contraseña para poder realizar cambios.

Reinicie el emulador y debería resolver:

Capturas de pantalla:

  1. Ventanas

El emulador de Android no se conecta a la solución de Internet en Windows

  1. Mac

El emulador de Android no se conecta a la solución de Internet en una 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.


6
Este problema me desconcertó muchísimo. Esto lo resuelve perfectamente. ¡Prestigio!
Vijay Kumar Kanta

1
Gracias. ¡Nunca hubiera descubierto esto por mí mismo!
pkozlowski

ejecute esto usando emuladores de Android 8 Oreo (AVD) en Android Studio. o bien la bandera de cli y el cambio de dns de todo el sistema lo arreglaron.
Thom

1
¡gracias! estuvo luchando con este error durante más de 3 días
RL Shyam

2
Gracias !!!! me funcionó, 8.8.8.8 8.8.4.4
kallayya Hiremath

92

Mi solución con Mac OSX 10.13

Leí que era causado por la habilitación de la tarjeta LAN y WiFi, y algunos enfoques me parecieron complicados, así que simplemente probé esto y funcionó:

  • WiFi deshabilitado en mi computadora portátil.
  • Apagado el emulador.
  • Hizo un arranque en frío en el emulador (AVD Manager -> en acciones del emulador -> Arranque en frío ahora).
  • Después de reiniciar con el WiFi de la computadora portátil desactivado, el emulador mostró una conexión WiFi adecuada (el emulador todavía muestra AndroidWifi pero está conectado a la 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ó.

Esto funcionó e hice un "borrado de datos" antes del "arranque en frío" y tuve que configurar WiFi en el emulador, había una notificación al deslizar hacia abajo en la pantalla de inicio.
Manuel

2
¡Trabajó para mi! Acabo de hacer un arranque en frío con wifi deshabilitado y funcionó bien.
Hasen

Trabajó para mi. Gracias.
Michael Angelo Reyes

¡Funcionó como un encanto! Gracias :)
SARATH SASI

Esta es la mejor respuesta.
Ahmed Mostafa

40

@TheBaj: Calculé el problema con esto y lo arreglé. El problema es que cuando estás conectado a través del enrutador, el androidwifi en tu 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 algo obligatoria para que el androidwifi gane Internet acceso). Pero si cambio el DNS en la configuración de mi red, el complemento de servicios de Google que recupera sus dependencias, especialmente la que se descarga dejcenter() , no se descargará y, por lo tanto, su sincronización fallará, lo que eventualmente fallará en su compilación.

Entonces, el truco es que tenga 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 jcenter()y la sincronización y la compilación se realizan correctamente.

Ahora inicia tu emulador con emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 comando del 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 he configurado 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, lanzo 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 FREAKING EMULATOR TIENE ACCESO A INTERNET. :)

Pruebe esto y espero que esto ayude.

Gracias, Vikram


Gracias, funciona ahora. Pasé todo el día en esto: /
TheBaj

'emulador' no se reconoce como un comando interno o externo, programa operable o archivo por lotes.
Bhupesh

@Bhupesh see %HOME%\AppData\Local\Android\Sdk\emulator, aquí es donde lo encontré.
t3chb0t

9

Tenía el mismo problema y lo resolví siguiendo los pasos a continuación.

Pasos:

  1. Ir a la configuración del emulador
  2. Seleccione la pestaña Proxy
  3. Luego, marque la opción "Usar la configuración del proxy HTTP de Android Studio"
  4. Haga clic en Aplicar


Esta es la única respuesta que funcionó para mí, ¡gracias!
Arià

6

He resuelto con google dns en adaptador de red 8.8.8.8y8.8.4.4

Emulador de Android wifi conectado sin solución de internet para windows


Con suerte, esto se informa como un error en alguna parte porque también me tomó un tiempo.
Renetik

5

Borre los datos haciendo clic derecho en la lista de dispositivos virtuales y el arranque en frío funciona para mí.


4

Bueno, lo hice de esta manera:

Pasos para agregar un proxy manual:

  1. Ir a la configuración del emulador
  2. Ir a la pestaña Proxy
  3. Establecer la configuración manual del proxy
  4. Agregue su nombre de host y número de puerto
  5. Haga clic en Aplicar

Captura de pantalla de referencia:

ingrese la descripción de la imagen aquí

Espero eso ayude.


4

Para mí, esto ayudó: en Mac OSX (Catalina para mí), el problema se debe al hecho de que el emulador detecta automáticamente nameserveral mirar /etc/resolv.confy elegir la primera, en mi caso, una dirección IPv6. Fuente

Simplemente edite el archivo ( $ sudo vi /etc/resolv.conf) y mueva la dirección IPv4 ( 192.168.1.1en mi caso) para que sea la primera, antes de las direcciones IPv6.

En serio, eso fue todo. De Demetrios Christopher


¡Gracias por tomarse el tiempo para contribuir con una respuesta! Puedes: - 1) editar tu respuesta para que la respuesta en detalle. 2) Explique lo que está tratando de lograr con esta respuesta y lo que quiere decir. Consulte Cómo escribo una buena respuesta en el Centro de ayuda para obtener más información (Cómo preguntar: stackoverflow.com/help/how-to-answer )
Paresh Mangukiya

3

Quizás esto ayudaría a alguien. Probé todas las soluciones anteriores. Cambio de DNS, arranque en frío, etc. Después de varias horas de prueba y error, fui a la documentación oficial, que decía que el emulador recoge la configuración de DNS. de la máquina host en el momento de inicio del emulador. Tenía VMWare instalado en mi máquina, que instala algunos adaptadores de red. Entonces, acabo de cambiar la configuración de DNS. de todos los adaptadores (incluidos los adaptadores VMWare) y arranqué en frío mi emulador. Dios mío, el problema que no pareció desaparecer en horas, ¡simplemente se solucionó!

Ahora, lo que encuentro extraño es que cambié la configuración de DNS. de todos los adaptadores a automático, y reinicié mi emulador en frío. El WiFi todavía funciona bien. SO: Windows 10.


Solo necesitaba arrancar en frío el emulador
KvdLingen

3

100% trabajando en Windows 10

Android AVD viene con Google DSN configurado dentro de emuladores. Por lo tanto, debemos configurar lo mismo para compartir en red para acceder a lo mismo.

Direcciones IP del DNS público de Google Las direcciones IP del DNS público de Google (IPv4) son las siguientes:

8.8.8.8

8.8.4.4

Las direcciones IPv6 de DNS público de Google son las siguientes:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Puede utilizar cualquiera de las dos direcciones como servidor DNS primario o secundario.

Más información

Aquí muestro para configurar los pasos de IP v4

  1. Red abierta y centro de intercambio de
  2. Haga clic derecho en la conexión a Internet actual
  3. Seleccionar propiedades
  4. Haga doble clic en Protocolo de Internet versión 4 (TCP / IPv4)
  5. Seleccione Usar la siguiente dirección de servidor DNS
  6. Establecer el servidor DNS preferido y alternativo
  7. Servidor DNS preferido: 8.8.8.8
  8. Servidor DNS alternativo: 8.8.4.4
  9. Haga clic en Aceptar
  10. Reinicie Android AVD

Nota: Si la VPN está habilitada, no funcionará, es necesario desconectarla.

Más información sobre Google DSN


1
Lamentablemente, necesitamos VPN cuando WFH. No puedo creer que Google haya dejado este problema durante muchos años.
You-Liang Shih

3

En Mac OSX (Catalina para mí), el problema se debe al hecho de que el emulador recoge automáticamente el servidor de nombres mirando /etc/resolv.conf y seleccionando el primero, en mi caso una dirección IPv6. Fuente: https://developer.android.com/studio/run/emulator-networking#dns

Simplemente edite el archivo (sudo vi /etc/resolv.conf) y mueva la dirección IPv4 (192.168.1.1 en mi caso) para que sea la primera, antes de las direcciones IPv6. En serio, eso fue todo.


1
Wow, increíble pero funcionó para mí, gracias.
Jhegs

3

En macOS:

  1. Red abierta en Preferencias del sistema .
  2. Seleccione su red actual desde el lado izquierdo y luego haga clic en Avanzado ... .
  3. Cambie Configurar IPv6 (en la pestaña TCP / IP ) de Automáticamente a Solo enlace local .
  4. Reinicia tu emulador.

2

En Windows:

Después de probar algunas soluciones, encontré la mía haciendo clic en la flecha hacia abajo del AVD, opción "Arranque en frío ahora". después de arrancar, Android tenía acceso a Internet, así que funcionó para mí.


2

Solución para Windows:

  1. Vaya a la ubicación de su SDK de Android, por ejemplo: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Abra el símbolo del sistema en la misma ubicación. Escribir este comando: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Aquí Nexus_4_API_29estará el nombre de su dispositivo emulador (puede encontrarlo en la lista de dispositivos desde Android Studio -> AVD Manager). Este comando ejecutará su dispositivo especificado y WIFI tendrá Internet conectado.

Espero que esto ayude.


0

Lo que funcionó para mí:

  • Apague el emulador (usando su tecla de encendido)
  • Inicie su aplicación en OTRO emulador y luego ciérrelo.
  • Ahora inicie su aplicación en el emulador anterior nuevamente.

0

Si el punto wifi ha cambiado, simplemente reinicie el emulador para que el emulador actualice la configuración de red del servicio dhcp.


0

Restablecer la configuración de red en el emulador de Android soluciona este problema.


0

Un simple arranque en frío funcionó para mí, sin necesidad de iniciar otros emuladores o borrar la memoria.

Simplemente cierre su emulador y seleccione la opción "Arranque en frío ahora" en el menú desplegable junto al botón de reproducción. Si no, busque ninguna de las opciones más completas que se enumeran aquí, pero sugiero que siempre comience con la solución más simple.

¡Buena suerte!



0

Para los nuevos usuarios de búsquedas: a veces, la VPN es su solución . No siempre es posible cambiar la configuración de red debido a problemas de red. Si se encuentra en direcciones IP que Google no responde para estas regiones, su solución está usando VPN. Use una VPN adecuada (una VPN que a través de ella podría actualizar su estudio de Android). Cuando su VPN esté encendida, inicie su dispositivo avd ( Por supuesto, el nivel de api de su emulador es importante, por ejemplo, no tengo ningún problema con api 22, ¡pero para api 28 es necesario usar vpn!) Esta fue mi experiencia sobre el emulador de Android en Internet.


0

Cambie la ubicación del emulador y configúrelo en su ubicación actual.

  • Pasos: -

    1. Haga clic en Más en las opciones del emulador
    2. Ir a la ubicación
    3. Busque su dirección y haga clic en ESTABLECER UBICACIÓN
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.