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.
fuente
Respuestas:
A continuación se indican las soluciones para Windows y Mac, pero soluciones similares funcionarán en cualquier sistema operativo:
En Windows
Configure los servidores DNS alternativos y preferidos como (captura de pantalla a continuación):
8.8.8.8 8.8.4.4
En Mac
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:
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.
fuente
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ó:
fuente
@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 de
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 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
fuente
%HOME%\AppData\Local\Android\Sdk\emulator
, aquí es donde lo encontré.Tenía el mismo problema y lo resolví siguiendo los pasos a continuación.
Pasos:
fuente
He resuelto con google dns en adaptador de red
8.8.8.8
y8.8.4.4
fuente
Borre los datos haciendo clic derecho en la lista de dispositivos virtuales y el arranque en frío funciona para mí.
fuente
Bueno, lo hice de esta manera:
Pasos para agregar un proxy manual:
Captura de pantalla de referencia:
Espero eso ayude.
fuente
Para mí, esto ayudó: en Mac OSX (Catalina para mí), el problema se debe al hecho de que el emulador detecta automáticamente
nameserver
al mirar/etc/resolv.conf
y elegir la primera, en mi caso, una dirección IPv6. FuenteSimplemente 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. De Demetrios Christopher
fuente
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.
fuente
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
Nota: Si la VPN está habilitada, no funcionará, es necesario desconectarla.
fuente
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.
fuente
En macOS:
fuente
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í.
fuente
Solución para Windows:
emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8
. AquíNexus_4_API_29
estará 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.
fuente
Lo que funcionó para mí:
fuente
Si el punto wifi ha cambiado, simplemente reinicie el emulador para que el emulador actualice la configuración de red del servicio dhcp.
fuente
Restablecer la configuración de red en el emulador de Android soluciona este problema.
fuente
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!
fuente
Quizás intente usar LAN si está disponible. Eso funciona como un amuleto para mí ...
fuente
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.
fuente
Cambie la ubicación del emulador y configúrelo en su ubicación actual.
Pasos: -
fuente