2010-06-23 13 views
7

He estado modificando/editando partes de la plataforma Android, pero me he encontrado con un problema al intentar probar mis ediciones. Después de realizar mis cambios a la fuente de la plataforma, pude compilar con éxito la fuente, creando así system.img, ramdisk.img y userdata.img.Emulador de Android colgado en el inicio?

Cuando voy a probar esto en el emulador, el emulador simplemente se cuelga en la pantalla "ANDROID_", con el guión bajo parpadeando, pero nunca parece cargarse. ¿Alguna sugerencia?

El comando que se utiliza para ejecutar el emulador es el siguiente:

./emulator -system $HOME/android/platform/out/target/product/generic/system.img -ramdisk $HOME/android/platform/out/target/product/generic/ramdisk.img -data $HOME/android/platform/out/target/product/generic/userdata.img

Gracias,
Chris

Respuesta

8

El primer inicio puede tardar un poco, sobre todo en una máquina lenta pero por lo demás tratar ejecutando el comando adb logcat para ver el resultado del registro. Eso te ayudará a determinar cuál podría ser el problema.

Además, si desea omitir el suministro de todas las opciones al emulador, es decir, el sistema y el otro, puede usar los scripts que se proporcionan en la carpeta de compilación. Ejecutar estos comandos desde la carpeta raíz del proyecto de código abierto:

source build/envsetup.sh 
setpaths 

El primero se ejecutará la secuencia de comandos envsetup para Android que proporciona una serie de comandos de ayuda. El segundo establece todas las rutas necesarias para el desarrollo de la plataforma Android. Entre ellos se encuentran la variable ANDROID_PRODUCT_OUT que informa al emulador dónde buscar las imágenes de compilación. Se establece en las carpetas predeterminadas que ha especificado anteriormente. Después de ejecutar setpaths puede simplemente iniciar el emulador con su compilación escribiendo emulator en la línea de comando.

+1

Gracias por los consejos. Intenté ejecutar el comando adb logcat, que me mostró mucho más. Parece que el emulador está atascado en una especie de ciclo de inicio infinito. El bucle comienza con Android Runtime START <<<<<<<<<<<<<< Y cada iteración termina con I/ServiceManager (25): servicio 'media.audio_flinger' morí I/ServiceManager (25): el servicio 'media.player' murió I/ServiceManager (25): el servicio 'media.camera' murió I/ServiceManager (25): el servicio 'media.audio_policy' murió – Chrisc

+0

Hmm, podría ser que uno de los los servicios críticos no se inician y, debido a eso, init intentará reiniciar todo el tiempo de ejecución de Android. Dependiendo de la máquina en la que se ejecute, hemos experimentado algunos problemas con el audio en el emulador, en cuyo caso la opción -noaudio podría ayudar. Además, ha intentado hacer una construcción y simplemente ejecutar el proyecto "tal cual" sin sus cambios. Siempre es bueno saber que el sistema predeterminado se ejecuta antes de probar las modificaciones de la plataforma. – BMB

+0

Gracias a BMB, resultó que estaba ocurriendo un error en algún lugar de mi código. Con más ajustes en mis cosas, Android arrancó con éxito. – Chrisc

1

Normalmente, tengo que reiniciarlo para que funcione. Hoy no se reiniciaría sin importar qué. Al hacer un logcat ./adb se mostraba constantemente 'esperando el dispositivo'. Así que lo reinicié usando Eclipse Android SDK y AVD Manager/Start ... (opción), desmarcando la opción 'Launch from snapshot', y después de la larga rutina de cargarlo, el emulador funciona.

10

Tuve este problema y lo solucioné al eliminar el emulador y crear uno nuevo. en Eclipse: Ventana

  1. Menú -> SVK Android y AVD Manager
  2. Seleccione dispositivos virtuales (debe ser seleccionado ya)
  3. Seleccione el emulador que le da problemas
  4. Editar para ver la configuración y recordar ellos.
  5. Elimina el emulador.
  6. Crea uno nuevo que sea el mismo que el anterior.
  7. Inicie el emulador desde aquí con el botón de inicio.

Comenzó en aproximadamente 30 segundos después de que hice eso.

Normalmente, el emulador se inicia en unos 2-3 minutos para mí. Entonces misteriosamente dejó de funcionar. Estaba viendo una animación de arranque durante 30 minutos antes de darme por vencida. Reiniciar mi computadora portátil no ayudó, lo que me hizo pensar que era un problema con la configuración del emulador, y tropecé con esta solución.

  • Nota n. ° 1: Al hacer esto, se borrarán los datos de usuario.
  • Nota n. ° 2: Como se mencionó anteriormente, es una buena idea marcar "Habilitado" para la instantánea cuando crea o edita el emulador, esto le permite iniciar más rápido la próxima vez.
  • Nota n. ° 3: Mi nuevo emulador apareció en chino. Eso es un poco raro :)
+0

Gracias por esto, solución simple pero no tan obvoius ... ¡Me salvó un montón de dolor de cabeza! – Robert

1

Mi truco para hacer que el emulador se inicie en una máquina débil (RAM: solo 1 GB) es iniciarlo como lo primero después de que WinXP haya terminado de arrancar. Además, utilizar una instancia de emulador con una resolución más pequeña (menor número de píxeles en la pantalla para emular, por ejemplo, solo 240x400) también ayudó.

6

Pruebe usar adb logcat en la terminal para ver qué está pasando con el emulador. Cuando lo hice seguí notando

I/ServiceManager( 918): service 'media.audio_flinger' died 
I/ServiceManager( 918): service 'media.player' died 
I/ServiceManager( 918): service 'media.camera' died 
I/ServiceManager( 918): service 'media.audio_policy' died 

repitiendo cada 10s más o menos. Intenté habilitar mis cámaras en el AVD y el emulador comenzó a funcionar.

Para habilitar la cámara, ingrese android avd en el terminal y configure las opciones de la cámara frontal y posterior.

+0

funciona ... thank's man – Massimo212121

+0

¿Cómo configurar las opciones de cámara frontal y posterior usando la terminal? ¿Algún comando? – Darpan

Cuestiones relacionadas