responding - Problema del emulador HelloAndroid
manual de programacion android pdf (7)
Estoy probando el SDK de Android por primera vez. Estoy empezando con el tutorial de HelloAndroid. siguió exactamente cada paso, pero el emulador se inicia sin mi aplicación. La consola del eclipse dice:
[2010-02-23 11:47:55 - HelloAndroid]------------------------------
[2010-02-23 11:47:55 - HelloAndroid]Android Launch!
[2010-02-23 11:47:55 - HelloAndroid]adb is running normally.
[2010-02-23 11:47:55 - HelloAndroid]Performing com.example.helloandroid.HelloAndroid activity launch
[2010-02-23 11:47:55 - HelloAndroid]Automatic Target Mode: Preferred AVD ''my_avd'' is not available. Launching new emulator.
[2010-02-23 11:47:55 - HelloAndroid]Launching a new emulator with Virtual Device ''my_avd'' [2010-02-23 11:48:09 - HelloAndroid]New emulator found: emulator-5554
[2010-02-23 11:48:09 - HelloAndroid]Waiting for HOME (''android.process.acore'') to be launched...
Veo el emulador, el texto '''' Android '''' en él pero no pasa nada más. ¿Puede alguien ayudar, por favor? ¡Gracias!
De acuerdo con el genio de arriba,
Tuve el mismo problema (atorado al cargar "casa"), me recordó un problema de descarga que tuve (quedé atascado al 99% y no fui más lejos -> (sí soy un Noob, pero aún así me lo recordó) ) y combinado con un odio profundamente arraigado hacia cualquier cortafuegos y el software de protección antivirus me proporcionó una furia berserker de alta energía que destruyó todo lo que tenía el menor parecido con la palabra "protección"
-> emulador funcionó bien después de eso!
- Todavía tomó 6-7 minutos para cargar el emulador, pero "logcat" puede ayudar a pasar el tiempo :)
Está cargando. Puede verificar el progreso de carga en logcat desde DDMS o adb shell logcat
.
Se tarda un poco en cargar el emulador, pero recuerde que no necesita reiniciarlo cuando actualice su código. Simplemente pulsa Run as...
en eclipse y se encargará de cargar y reinstalar en el emu.
También recuerda que puedes usar tu teléfono en lugar del emulador. Normalmente uso mi teléfono cuando la PC en la que estoy trabajando es demasiado lenta.
Buena suerte con el desarrollo de Android!
Para aquellos que se encuentran con este hilo debido a un problema más reciente, permítanme proporcionar lo siguiente. Esperemos que le ahorre a la gente algunos días de pérdida de productividad y de peluquería.
La última versión de trabajo de Google SDK (contenido de la carpeta Herramientas) fue la versión 22.3, pero las versiones anteriores y de trabajo ya no se encuentran en el archivo XML ( https://dl-ssl.google.com/android/repository/repository-8.xml ), por lo que se queda sin una ruta de degradación clara desde la GUI.
Este problema causa el problema descrito por el OP para todas las versiones de API "Intel" anteriores a 19 que probé, y una "excepción de punto flotante" para Intel API-19. Tenga en cuenta que las versiones Arm del emulador seguirán funcionando, aunque mucho más lentamente si una está utilizando la aceleración de Intel.
El problema está documentado en este hilo, que no descubrí hasta que probé el API-19, por lo que el error de "punto flotante" proporcionó una coincidencia de búsqueda de Google:
https://code.google.com/p/android/issues/detail?id=66786
Una solución es la implementación de Virtual Box de genymotion, aunque requiere una versión bastante nueva de glibc, que aún no se encuentra en Debian stable o CentOS. (Acabo de pasar un día instalando OpenSUSE para poder "volver al trabajo" antes de encontrar la solución, más arriba).
La solución más rápida es cambiar el nombre de "Herramientas" (dentro de la carpeta "android-sdks") a "Herramientas rotas", luego descargar la versión anterior, que alguien en el hilo, arriba, encuentra (de alguna manera): http://dl.google.com/android/android-sdk_r22.3-linux.tgz http://dl.google.com/android/android-sdk_r22.3-windows.zip
Al abrir el tgz, uno encontrará una carpeta de "Herramientas" que se puede copiar en la carpeta de "android-sdks", donde se le dio un nuevo nombre a la versión anterior de "Broken-Tools", arriba.
Si esos enlaces (a las versiones no alfa promocionadas como "estables") deberían morir, tenga en cuenta que existen otras copias en otras ubicaciones no oficiales (sin duda, publicadas por otros desarrolladores "frustrados" que intentan ayudar a sus compañeros).
Gracias a Macarse, por indicarme el "adb shell logcat", que me permitió ubicar el "bucle de bloqueo" que se produce en las API anteriores a 19, creando el comportamiento "Android Splash Screen Forever", que se centra en un "SSLCertificateSocketFactory" error.
Parece que la solución preferida es comprar uno de los "Android Dev Phones" como se anuncia en el sitio de desarrolladores de Android.
Casi dos años después, los problemas del emulador siguen siendo los mismos. En el último Eclipse con el último complemento, después de un fallo en el emulador, el uso de la CPU es del 30%, consumido por la grandiosa animación en el emulador.
El complemento Eclipse tiene una vista de registro LogCat con una opción para guardar la salida en un archivo. Esa opción produce un archivo de longitud 0 con todas las entradas seleccionadas.
Esto no es software. Es otra cosa.
Y tal vez solo fui yo, pero me tomó un tiempo averiguar qué "LogCat" era sobre lo que seguía leyendo.
Si está utilizando Eclipse, haga "Ventana / Mostrar vista / Otro". Luego escriba "LogCat" en el cuadro "Mostrar vista" y aparecerá "Android-> LogCat". Elija esa opción y ahora tendrá una pestaña LogCat que muestra información de salida. Puede controlar el nivel de información que se muestra con los botones "VDIWE" en la esquina superior derecha.
después de aplicar las soluciones anteriores, intente editar su AVD, establezca la propiedad del hardware "Tamaño de pila de la aplicación de VM máxima" en 192 o superior y elija la máscara QVGA. Tuve el mismo problema, y con estas configuraciones, el AVD se cargó en menos de un minuto.
Resumen
(Puedes ver los detalles completos debajo de estos pasos resumidos).
- Desinstalar / Reinstalar el SDK de Android en la carpeta fuera de C: / (sin espacios en la ruta)
- Vuelva a crear el AVD.
- Establezca la variable de entorno PATH para las nuevas ubicaciones de carpetas de Android SDK
- Desinstalar / reinstalar el complemento ADT de Android en Eclipse.
- Configure la ubicación del SDK de Android en Eclipse.
- Reiniciar (para reducir la utilización de la CPU)
- Ejecute el emulador desde la línea de comandos y configúrelo para que use todas las CPU con prioridad Alta o "Tiempo real". Tome nota de su uso de la CPU.
- Abre Eclipse y ejecuta la aplicación.
Detalles
Pasé dos días haciendo que el emulador ejecutara la aplicación HelloAndroid. En mi caso, el problema podría haber sido una combinación de un problema con la instalación del SDK de Android y un problema de rendimiento de la CPU. Creo que algo estaba causando que el emulador se ejecute de forma extremadamente lenta, lo que hace que parezca que el emulador se bloquea. Mi PC es mi Windows 7 64 bits 6 GB Intel i7 multi-core PC. El Administrador de tareas muestra 8 CPU en mi PC en la etiqueta de rendimiento.
Mi síntoma fue que el AVD de Android 2.2 en el emulador pareció bloquearse cuando se mostraba el texto "Android" en la pantalla. La pantalla de inicio nunca aparecería. Este escenario pasó una y otra vez. A menudo esperaría 30 minutos o 45 minutos en vano.
Mi entorno:
- Android SDK Revision 12
- Android 2.2 AVD
- Windows 7 de 64 bits
- Eclipse IDE para desarrolladores de Java Indigo Release Build id 20110615-0604
- Intel Core i7 CPU multi-core, 6 GB, 1.6 GHz
Intenté iniciar el emulador desde la línea de comandos sin iniciar Eclipse en el símbolo del sistema y eso no ayudó. El emulador todavía colgaba. Me di cuenta de que el Administrador de tareas mostraba mi caja al 50% de uso de la CPU, que parecía bastante alto. La CPU 0 se fijó al 100%.
Esto es lo que lo arregló.
Desinstalé el Android SDK R12 y lo reinstalé desde la raíz de C: en C: / android-sdk. Anteriormente había experimentado problemas porque el SDK de Android se encontraba en la carpeta "C: / Archivos de programa"; El SDK tiene un error que no puede manejar el espacio en la ruta . Ejecuté "uninstall.exe" desde la carpeta del SDK de Android para realizar la desinstalación. Desinstalar tomó más tiempo que la instalación.
Agregué "; C: / android-sdk / tools /; C: / android-sdk / platform-tools /" a la variable de entorno PATH.
Luego eliminé el AVD utilizando el Administrador de SDK y lo volví a crear.
Desinstalé el complemento de ADT para Eclipse, reinicié Eclipse, luego reinstalé el complemento de ADT y luego cerré Eclipse.
Reconfiguré Eclipse con la nueva ruta del SDK de Android (Ventana> Preferencias> Android> Ubicación del SDK).
En la pestaña Procesos del Administrador de tareas, habilité "Mostrar procesos de todos los usuarios". Luego hice clic derecho en "emulator-arm.exe * 32", luego hice clic en "Establecer afinidad ..." y noté que el emulador estaba configurado para usar solo la CPU 0, así que lo cambié para usar todas las CPU. También configuro el emulador a la prioridad "Tiempo Real".
Observando un 50% de uso de CPU, reinicié.
Después de reiniciar, inicié el emulador usando la línea de comandos:
emulator @Android22
Android22 es el nombre de mi AVD. Utilicé el administrador de tareas para establecer la afinidad para que el emulador use todas las CPU y establezca la prioridad en alto. Mi uso de la CPU era ahora de un 13%, principalmente debido al emulador. El emulador tardó unos 3 minutos en mostrar la pantalla de inicio. ¡Hurra!
Luego abrí Eclipse con la aplicación HelloAndroid y la aplicación se ejecutó correctamente en el emulador.
He escrito en detalle lo que hice porque los últimos dos días han sido un verdadero dolor. Noté varias publicaciones sobre este problema con muchas personas que no parecían tener éxito. Realicé los pasos mencionados en varias publicaciones, pero no encontré un lugar que describiera todo el proceso.
Buena suerte. Espero que esta información ayude a alguien.