Acabo de terminar de instalar Android Studio e intentar probarlo. Cuando intento ejecutar mi aplicación, aparece el siguiente mensaje de error
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined
¿¿¿¿Sabe alguien cómo arreglar esto????
android
android-studio
android-emulator
Ted pottel
fuente
fuente
Respuestas:
Es posible que realmente no tenga imágenes del sistema. Verifique que
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
exista y que no esté vacío. Si realmente faltan, instale / reinstale con SDK Manager.fuente
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
, 2: Cómo reinstalar un dispositivo virtual usando SDK ManagerVaya a Herramientas | Android | Gerente de AVD
Haga clic en la flecha debajo de la columna Acciones en el extremo derecho (donde está el mensaje de error)
Elija Editar
Deje la selección predeterminada (para mí, MNC x86 Android M)
Haga clic en Siguiente
Haga clic en Finalizar
Guarda su AVD y el error ha desaparecido de la última columna. Y el emulador funciona bien ahora.
fuente
Solo arreglé esto. Espero que esto ayude a otros. (Problema como en Android Studio v2) Este problema es para emuladores de brazo. En este ejemplo, estoy usando armeabi-v7a API 16
La solución es de tres pasos:
Paso 1: Abra sdk manager y asegúrese de haber instalado ARM EABI v7a System Image
Paso 2. Este es el caso obvio de agregar la ubicación de sdk a las variables del sistema.
Haga clic derecho en el icono "Esta PC" en el escritorio, luego
Properties -> Advanced system settings -> Environment Variables...
Luego agregue la ruta a sdk como nueva en la sección de variables del sistema usando el nombre de la variableANDROID_SDK_ROOT
.Paso 3. Reinicie Android Studio para registrar los cambios. Después de corregir el
ANDROID_SDK_ROOT
problema no definido, el emulador aún no puede encontrar los archivos del kernel a pesar de que puede ver que el administrador sdk lo instaló enpath-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
La razón es una confusión entre la ubicación en la que sdk manager instala el archivo del kernel y la ubicación que el emulador está buscando.
Si abre su config.ini (Android Studio -> AVD Mananger -> "Show On Disk") para su emulador, verá la siguiente línea:
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\
(es decir, \ ruta-a-sdk \ complementos \ complemento -....)
En lugar de cambiar este valor en el archivo config.ini que copié
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
(archivo de kernel de la carpeta sdk manager instalado)
a
\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\
Y ese era el archivo del kernel que faltaba. Puede ejecutar el emulador. (Deberá cerrar Android Studio y volver a abrirlo) Dale algo de tiempo al emulador, ya que es 10 veces más lento en comparación con x86. (El mío tardó unos 5 minutos en comenzar)
fuente
image.sysdir.1=system-images\android-16\default\armeabi-v7a
image.sysdir.1
a `system-imágenes \ android-15 \ google_apis \ armeabi-v7a`Lo solucioné ejecutando "C: \ Archivos de programa \ Android \ android-sdk \ AVD Manager.exe" y reparando mi dispositivo roto.
fuente
Respuesta corta : intente crear la misma imagen usando la vieja escuela
<AndroidSDK>\AVD Manager.exe
.Trabajando en Android Studio, ejecutando todas las herramientas integradas, me resultó natural no usar los antiguos administradores (AVD / SDK).
En mi caso, tuve este problema cuando usé el nuevo AVD Manager (integrado) para crear dispositivos con imágenes de sistema antiguas (API 11 e inferior, como he probado).
Cuando intenté utilizar la herramienta AVD Manager de la vieja escuela (ubicada en
<AndroidSDK>\AVD Manager.exe
) para crear estas imágenes de dispositivos antiguos, tuve éxito.fuente
~/Library/Android/sdk/tools/android avd
.Oye, acabo de encontrar el mismo problema que tu, el tercer enlace en Google me llevó a este fragmento de código que arroja el error,
a lo que la persona escribió:
"/ * Si el nombre de la imagen del kernel termina en" -armv7 ", entonces cambia el tipo de cpu * automáticamente. Este es un enfoque pobre para la gestión de la configuración *, pero debería permitirnos superar la construcción de imágenes del sistema ARMv7 * con dex preopt pass "
Así que volví y descargué la versión x86 intel atom para mi nivel de API deseado y pude activar el emulador sin el error. Espero que también te ayude ...
fuente
Normalmente, el error se producirá debido a un emulador AVD inadecuado para el tipo de aplicación para la que está desarrollando. Por ejemplo, si está desarrollando una aplicación para un dispositivo portátil pero está intentando usar un emulador de teléfono para ejecutarlo.
fuente
Yo tenía el mismo error. La solución para mí fue cambiar la ruta ANDROID_HOME . Primero eché un vistazo a herramientas-> android-> administrador sdk de Android Studio. En esa ventana, podemos ver la ruta donde Android Studio busca el SDK: imagen
Luego abrí un shell CMD de Windows, ejecuté:
pero el camino era diferente al de la CONFIGURACIÓN DE ANDROID STUDIO del primer paso.
La solución fue cambiar el entorno de usuario, el ANDROID_HOME, al del primer paso: imagen
Finalmente cerré el shell cmd y abrí otro shell cmd para ejecutar:
la ruta se actualizó y pude ejecutar mi emulador perfectamente.
fuente
En mi caso (Windows 10), la razón fue que me atreví a descomprimir el sdk de Android en una carpeta no predeterminada. Cuando lo moví al predeterminado c: / Users / [username] / AppData / Local / Android / Sdk y cambié las rutas en Android Studio y System Variables, comenzó a funcionar.
fuente
Me funcionó y estoy en Windows 10 y Android Studio 2.3.3
fuente
fuente
Un enfoque común a seguir para resolver este problema.
1.COMPRUEBE su administrador de SDK ejecutando desde su estudio de Android y la carpeta sdk de pie alons ejecutando le
./android.sh
ayuda a encontrar paquetes rotosIntente instalar imágenes del emulador del sistema con soporte de API de Google que el de Intel. Al igual que, resolví mi problema al ejecutar otra imagen del sistema.
Experimento de virtualización basado en KVM sugerido por Google para Linux
fuente