2011-04-03 19 views
20

Como regla general, todo funciona bien, pero a veces, o bien Eclipse o mi emulador de Android decide ser un imbécil y se niega a trabajar.Se inicia Android Emulator pero Eclipse no lo reconoce

Abro el Administrador AVD en Eclipse. Elijo qué AVD quiero y hago clic en Iniciar. El emulador se inicia y pasa por el largo proceso de arranque. Finalmente termina de reiniciarse y luego, por algún motivo, se reinicia inmediatamente y pasa por el largo proceso de reinicio. Una vez que se inicia por segunda vez, Eclipse pierde la pista. Ya no aparecen listas en la pestaña Dispositivos y no puedo instalar mi aplicación ni ejecutarla en ese emulador. Si elimino el emulador y trato de reiniciarlo, obtengo exactamente el mismo comportamiento. Es increíblemente frustrante.

No hay mensajes en la consola para explicar el comportamiento. ¿Alguna idea de por qué está pasando esto?

+0

¿Qué versiones del SDK de Android, el complemento ADT, el emulador de nivel API y Eclipse está ejecutando? –

Respuesta

56

Ese es un problema conocido cuando adb se inicia antes que el emulador. No sé la razón real, sino una solución rápida es reiniciar BAD en el símbolo del sistema (con el emulador en funcionamiento)

> adb kill-server 
> adb start-server 

Ahora,

> adb devices 

devolverá el emulador y Eclipse ser capaz de instalar la aplicación.

+1

Gracias. Su respuesta me llevó a términos de búsqueda que me ayudaron a encontrar este sitio explicando el problema en detalle. Incluye un alias shell de conveniencia para facilitar este proceso: http://developmentality.wordpress.com/2010/09/13/android-disappearing-emulator-restart-adb-server/ –

+1

'alias adb-restart' es un buen ejemplo truco, te ahorra unos segundos :) Nunca entendí por qué no hay un servidor de reinicio adb fuera de la caja de todos modos. Tenga en cuenta que el comando adb devices no es realmente necesario, y que esto también ocurre en Windows, no solo en Linux. En ubuntu, este conjunto de comandos es útil cuando quieres acceder a tu teléfono real con adb: 'adb kill-server; sudo adb start-server' para obtener acceso raíz a la conexión usb. – Aleadam

+1

También puede hacerlo desde Eclipse. Abra la vista Dispositivos si no está abierta, y luego seleccione "Restablecer ADB" en el menú de visualización (en la parte superior de la vista Dispositivos). –

1

He visto esto también. Si matas y reinicias el servidor adb, Eclipse debería verlo.

13

Mientras está en Eclipse, elija Ventana-> Mostrar vista-> Dispositivos.

enter image description here

Si no puede ver el emulador de la nueva ventana abierta seleccione el icono de flecha abajo en la misma ventana (cerca del minimizar y maximizar botones) y en el menú desplegable, seleccione "Reset BAD" .

enter image description here

La alternativa es abrir CMD.exe y escriba los dos comandos siguientes (cambiar el directorio de ADB como sea necesario):

C:\Program Files\Android\android-sdk\platform-tools\adb.exe kill-server 
C:\Program Files\Android\android-sdk\platform-tools\adb.exe start-server 
1
> ./adb kill-server 
> ./adb start-server 

trataron estos comandos en Mac OS X/eclipse: funciona, pero también mata los dispositivos reales y tienes que desenchufarlos o enchufarlos para recuperarlos.