Error de emulador: a la configuración de AVD le falta un archivo de núcleo

183

Este problema se descubrió cuando intenté ejecutar el emulador de Android en Eclipse. No puedo entender lo que pasó. Busqué la solución en línea, pero parecía ser vago y no lo entiendo claramente. Estaba siguiendo los pasos para instalar el AVD de acuerdo con los sitios y no puedo entender lo que me perdí. Por favor explícamelo en los pasos a seguir.

shoujo_sm
fuente
mismo problema: stackoverflow.com/questions/8190820/scala-android-newbie - crear un nuevo AVD
zapl
1
En una Mac todavía no se pudo iniciar; usar una reparación en el AVD funcionó para mí stackoverflow.com/a/15971119/664220
Ronnie
reiniciar Eclipse después de instalar la imagen ARM y luego crear un nuevo AVD funcionó para mí.
Simon
Puede ser este enlace puede ayudar: developer.android.com/tools/help/avd-manager.html
Abhijeet

Respuestas:

254

La "Imagen del sistema ARM EABI v7a" debe estar disponible. Instálelo a través del administrador de Android SDK: Administrador de Android SDK

Otra pista (ver aquí ) - con

  • Android SDK Tools rev 17 o superior
  • Android 4.0.3 (API Nivel 15)
  • usando SDK rev 3 y System Image rev 2 (o superior)

puede activar la emulación de GPU para obtener un emulador más rápido: ingrese la descripción de la imagen aquí

Nota : Según su comentario 786, si ha creado previamente un emulador, debe volver a crearlo; de lo contrario, esto no funcionará.

Alternativa 1
Intel proporciona el " administrador de ejecución acelerada de hardware Intel ", que es un emulador basado en VM para ejecutar imágenes X86 y que también es administrado por el Administrador de Android SDK. Vea un tutorial para el emulador Intel aquí: HAXM acelera el emulador de Android . Roman Nurik publica aquí que el emulador Intel con Android 4.3 es "increíblemente rápido".

Alternativa 2
En los comentarios de la publicación anterior, puede encontrar una referencia a Genymotion que afirma ser el "emulador de Android más rápido para pruebas y presentación de aplicaciones". Genymotion se ejecuta en VirtualBox. Vea también su sitio en Google+ , esta publicación de Cyril Mottier y esta guía en reddit .

Alternativa 3
En XDA-Forums, leí sobre MEmu, el emulador de Android más potente para PC, Better Than Bluestacks . Puedes encontrar el emulador aquí . Esto me lleva a ...

Alternativa 4
... esta entrada del Foro XDA: ¡ Cómo usar THE FAST! BlueStack como su emulador de desarrollo de Android alternativo . Puedes encontrar el emulador aquí .

ChrLipp
fuente
1
Desafortunadamente, algunas tarjetas ATI se bloquean cuando se activa la emulación de GPU, esperando un emulador actualizado.
ChrLipp
23
Descubrí que tenía que eliminar el emulador y volver a crearlo después de la instalación para resolver este problema.
you786
3
@ you786 sí, es importante recrearlo
Bobs
1
He hecho todo lo posible, pero sigue ahí mientras
lanzo el
Vea mi respuesta a continuación.
Marc Rochkind
22

Otra razón por la que puede obtener este error es que Eclipse no puede encontrar el archivo correcto.

Vea dónde Eclipse está buscando sus archivos SDK. Puedes hacer esto en la línea de comando. A continuación se muestra un ejemplo para el símbolo del sistema de Windows para un avd que creé y llamé 'SonyTabletS':

c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose

La primera línea devuelta muestra dónde está buscando eclipse los archivos SDK y se verá algo así como:

emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk

Asegúrese de que la ubicación sea correcta.

En mi caso, ANDROID_SDK_ROOTinicialmente estaba configurado incorrectamente en mi directorio de inicio. Esto se debe a que lo configuré de esa manera siguiendo ciegamente las instrucciones de instalación del Sony Tablet S SDK y agregando una ANDROID_SDK_ROOTvariable de entorno con la ruta incorrecta.

KCD
fuente
En mi caso, Android \ android-studio \ sdk se ha apoderado de la ubicación ANDROID_SDK_ROOT mientras ejecuto el emulador desde la carpeta Android \ android-sdk. Una vez que apunta correctamente a Android \ android-sdk, funciona.
noel aye
Esto fue para mí. Mi entorno de compilación utiliza un ANDROID_SDK_ROOT que no puedo actualizar fácilmente. La solución fue iniciar un símbolo del sistema limpio y establecer ANDROID_SDK_ROOT en el correcto e iniciar el administrador de SDK desde allí.
Doug Coburn
Verifique que no haya instalado accidentalmente dos copias del SDK. Si eres como yo, estabas instalando la "Imagen del sistema ARM EABI v7a" en una copia, pero el AVD estaba tratando de encontrarla en la otra copia. Eliminé una de mis copias del SDK y luego mi emulador comenzó de inmediato.
sffc
En mi caso, tengo mi carpeta SDK apuntando al directorio correcto.
Neon Warge
16

Mi historia, Eclipse quería un archivo llamado " kernel-ranchu" en la carpeta de imágenes del sistema ( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a).

emulador: ERROR: ¡A esta configuración de AVD le falta un archivo del núcleo! Asegúrese de que el archivo "kernel-ranchu" esté en la misma ubicación que la imagen de su sistema.

emulador: ERROR: ANDROID_SDK_ROOT no está definido

En esa carpeta de imagen del sistema había un archivo llamado " kernel-qemu". Simplemente lo renombré como " kernel-ranchu" y funcionó ...

jptsetung
fuente
44
En mi caso fue al revés
urnenfeld
15

Yo tuve el mismo problema. En mi caso, resultó que había instalado otra versión del SDK junto con la versión proporcionada por Android Studio. Cambiar mi variable de entorno ANDROID_SDK_ROOT al valor original me lo arregló.

nerdinand
fuente
1
Es importante tener en cuenta que esta es una respuesta igualmente válida como la respuesta principal en el caso en que el SDK se instaló anteriormente antes de Android Studio. El error es que Android Studio debería notar que ANDROID_SDK_ROOT ya está configurado en una ubicación alternativa y advertir al usuario durante la instalación.
Core
El núcleo es correcto. Hoy cambié de Eclipse a Android Studio y esto es lo que me solucionó el problema.
Pikamander2
11

Aquí está mi historia. En 'Acciones' en el administrador de AVD, vi los detalles de AVD que no funcionaban. Al desplazarme hacia abajo, encontré la línea:

image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Luego navegué a este archivo en:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Encontré que no había ningún archivo de kernel. Sin embargo, encontré un archivo de kernel en:

C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a

Entonces lo copié y pegué de nuevo en:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

El AVD luego funcionó.

CKP78
fuente
Gracias, esto lo resolvió! Creo que esto tiene que ser un error o algo porque es un comportamiento muy extraño
Hugo
7

Abra AVD Manager en modo Administrador Seleccione VM y haga clic en editar, haga clic en Aceptar Iniciar VM.

Nota del editor : por modo de administrador, se refería al clic derecho> Ejecutar como administrador en plataformas Windows.

usuario3313044
fuente
¿Qué / dónde está el 'Modo administrador'?
ericpeters0n
No puedo encontrar VM, para Mac OS
Frank Fang
4

Si sabe que el archivo kernel está instalado en su máquina, entonces el problema es obtener emulator.exe para encontrarlo.

Mi solución se basó en la publicación del usuario 2789389. Podría iniciar el AVD desde el Administrador de AVD, pero no desde la línea de comandos. Entonces, usando AVD Manager, seleccioné el AVD que quería ejecutar e hice clic en "Detalles". Eso me mostró la ruta al archivo de definición avd. Dentro de una carpeta del mismo nombre, junto a este archivo .avd, encontré un archivo config.ini. En el ini, encontré la siguiente línea:

image.sysdir.1=system-images\android-19\default\armeabi-v7a\

Miré en la carpeta C: \ Users \ XXXX \ android-sdks \ system-images \ android-19, y descubrí que la ruta image.sysdir.1 no era válida. Tuve que eliminar la subcarpeta "predeterminada" y cambiarla a lo siguiente:

image.sysdir.1=system-images\android-19\armeabi-v7a\

Guardé el ini e intenté nuevamente lanzar el AVD. Eso solucionó el problema!

BuvinJ
fuente
Esto no lo solucionó. En mi caso, tengo la imagen del sistema en la subcarpeta predeterminada.
Neon Warge
¡No tienes que rechazarme porque tienes un problema diferente! Eso no hace que mi respuesta sea incorrecta.
BuvinJ
¿Votaste cualquier otra publicación aquí también, porque no resolvieron tu problema?
BuvinJ
Esto solucionó el problema para mí, estoy ejecutando en Mac y la ruta apuntaba a image.sysdir.1 = add-ons / addon-google_apis-google-16 / images / armeabi-v7a, cambiando a system-images / android -16 / default / armeabi-v7a resolvió el problema
Felipe Jun
3

Asegúrese de que también haya configurado correctamente un dispositivo emulado. Android Studio puede venir con uno que aparece en la lista de dispositivos emulados, pero que no está configurado para funcionar con la versión de SDK que está utilizando.

Intente crear un nuevo dispositivo emulado en el Administrador de AVD (Herramientas-> Android> Administrador de AVD) y selecciónelo como el objetivo.

kmantel
fuente
Intentar seguir este camino me hizo saber que HAXM no estaba realmente instalado, a pesar de que lo demostró. Se me solicitó instalar Intel HAXM.
Lodlaiden
2

Instalé Android SDK Manager y Android SDK ayer, y también recibí este error cuando intenté ejecutar el emulador de Android de inmediato. Pero, ahora que este error desaparece, creo que reiniciar su sistema cuando se haya instalado el SDK puede resolver este problema.

Jack Hu
fuente
2

Se me ocurrió un pensamiento inteligente singular después de un largo día de reparación / reconstrucción / actualizaciones del SDK / NDK y JDK. El entorno vars necesita ser examinado, ya que la solución para mi archivo de kernel faltante AVD 'GalaxyS3' fue expandir la referencia de imágenes del sistema a absoluto.

image.sysdir.1 = C: \ Android \ sdk \ system-images \ android-19 \ armeabi-v7a \

Agregar "C: .... sdk \" a la entrada 'image.sysdir.1 =' en el archivo 'workspace'.android \ avd \ GalaxyS3.avd \ config.ini resolvió el problema (por ahora).

usuario2789389
fuente
2

Actualicé mi SDK de Android a la última versión (API 19). Cuando intenté ejecutar el emulador con phonegap 3, la compilación fue exitosa pero tuvo el mismo problema.

En el administrador de AVD había un dispositivo existente, sin embargo, todos sus parámetros eran desconocidos. Seguramente esto ocurre porque desinstalé la versión antigua de SDK (API 17) que devuelve un segundo error al intentar eliminar el dispositivo. Con el mensaje: "el dispositivo ya se está ejecutando"

Para resolver el problema, fui a la ubicación del AVD en ~ / .android / avd / y eliminé manualmente el directorio device.avd y el archivo device.ini. Finalmente, en el administrador de dispositivos, creé un nuevo AVD proporcionado por la API más nueva.

Esto permitió a phonegap construir y ejecutar el emulador con éxito

espero que esto ayude

Buen día

snaphuman
fuente
2

Siguiendo la respuesta aceptada por ChrLipp usando Android Studio 1.2.2 en Ubuntu 14.04:

  • Instale el paquete "ARM EABI v7a System Image" desde el administrador de Android SDK.
  • Eliminar el dispositivo virtual no funcional.
  • Agregue un nuevo dispositivo con Application Binary Interface (ABI) como armeabi-v7a.
  • Arrancar en el nuevo dispositivo.

Esto funcionó para mí. Intente reiniciar su sistema si no funciona para usted.

manyu
fuente
2

Vea mi respuesta para el entorno Android Studio , Mac y "PANIC: Falta el programa del motor del emulador para la CPU 'arm'" .

Para resolver este problema, debe especificar la -kernelruta manualmente. es decir

$ ~/Library/Android/sdk/emulator/emulator  @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/android-16/default/armeabi-v7a/kernel-qemu

Recuerde cambiar el nombre del emulador Galaxy_Nexus_Jelly_Bean_API_16a su propio nombre de emulador.

El siguiente comando es verificar los emuladores disponibles para la línea de comando.

$ ~/Library/Android/sdk/emulator/emulator -list-avds

Y también, asegúrese de que la ruta de su emulador sea ​​correcta, es decir, la que se encuentra en ~/Library/Android/sdk/emulator/.

shizhen
fuente
1

Intenté lo que sugirió ChrLipp, pero ese no era el problema, ya que la imagen ya estaba instalada. Lo que hice fue correr:

android avd

para iniciar el emulador manualmente. Luego detuve el emulador y formé ese punto en el

cca emulate android

la aplicación comenzó a funcionar, sin el error "falta un archivo del núcleo".

Marc Rochkind
fuente
1

Solucioné este problema simplemente agregando la variable de entorno ANDROID_SDK_ROOT, en mi caso, estaba ubicado en C: \ Users \ fera \ AppData \ Local \ Android \ sdk

fera
fuente
1

En mi propio caso, tuve múltiples errores, la mayoría de los cuales se debieron a ANDROID_SDK_ROOT mal configurada , al final del día, una cosa parecía arreglarlo todo.

Siga el siguiente proceso:

Después de crear un nuevo dispositivo emulador en AVD, vaya al menú Acciones y haga clic en la flecha que apunta hacia abajo como se muestra a continuación.

ingrese la descripción de la imagen aquí

Haga clic en Mostrar en disco

Editar config.ini

Busque image.sysdir.1

debería tener un valor como este: ** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **

Tu propio valor puede ser diferente

Ahora, arregle la ruta del Sdk de Android para hacer una ruta completa.

image.sysdir.1 = ** C: \ androidsdk ** system-images \ android-28 \ google_apis_playstore \ x86 \

Si se dio cuenta, la ruta del SDK de Android que se muestra arriba es diferente del SDK predeterminado de Android, tuve que moverlo a C: / androidsdk para evitar problemas de NDK ya que mi USUARIO PRINCIPAL en mi PC tiene espacios en blanco que NDK podría no admitir.

NOTA: El alejamiento del directorio SDK de su directorio predeterminado suele ser la causa de estos errores que da el emulador AVD, especialmente en lo que respecta a la ruta rota y mal configurada. La solución que proporcioné anteriormente es una solución rápida, puede que tenga que hacerlo cada vez que cree un nuevo dispositivo en AVD Emulator.

Esta solución también debería funcionar cuando se trabaja en CMD con cordova.

Akintunde
fuente
0

Solo quería compartir mi experiencia sobre este problema. Consultando cada una de las respuestas aquí, no coincidía con mi situación. Tener una imagen del sistema para Android API 22 causa este error y lo extraño es que todas las variables de entorno apuntan a los directorios correctos. No tiene sentido

La respuesta de @BuvinJ había arrojado algo de luz sobre el problema. Verifiqué la ruta descrita en su respuesta y sí, mi copia de la imagen del sistema reside en la subcarpeta predeterminada cuando busco en el directorio del usuario (en Windows).

Lo extraño es que también hay una carpeta android-sdk en ANDROID_SDK_ROOT, así que pensé que tal vez Eclipse está buscando allí. Excavando a través de las subcarpetas, descubrí que el directorio se ve así:

android-sdk-windows\system-images\android-22\google_apis\armeabi-v7a

Este directorio reside en ANDROID_SDK_ROOT. También hay otro que reside en el directorio de usuarios user / XXXX / android-sdk /.

Eclipse lo espera aquí:

android-sdk-windows\system-images\android-22\default\armeabi-v7a

Acaba de cambiar el directorio como tal y funciona ahora.

Neon Warge
fuente
0

Actualice los siguientes comandos en el símbolo del sistema en Windows:

i) android update sdk --no-ui --all // Actualiza tus paquetes SDK y demora 3 minutos. ii) actualización de Android SDK --no-ui --filter platform-tools, tools // Actualiza las herramientas de la plataforma y sus paquetes. iii) actualización de Android SDK --no-ui --todos --filter extra-android-m2repository // Aquellos que están trabajando con el proyecto maven actualizan esto para admitir con la última biblioteca de diseño de soporte que incluirá el repositorio extra de maven android maven.

1) En el símbolo del sistema, le pide S / N. Haga clic en S y luego continúe con la instalación. 2) Actualiza todos los archivos Kernel-qemu y los comandos qt5.dll. para que el emulador funcione bien sin problemas.

usuario12654796
fuente
-1

Para mí, la actualización de las herramientas del SDK solucionó los errores.

Captura de pantalla de los errores y progreso de la actualización.

Fazal Arya
fuente
-1

Resolví esto actualizando SDK Tools y Platform-tools en Android SDK Manager a la versión más reciente.

Alexander Andrade
fuente