android - studio - panic: missing emulator engine program for ''x86'' cpu.
¿Cómo crear un AVD de trabajo para Jellybean(API 17)? (5)
Por cuestiones de configuración
Edite el perfil de hardware y cambie las dimensiones a 4,2 pulgadas (No estoy seguro de por qué. Pero creo que hasta 17 de resolución máxima disponible fue de 4,2 pulgadas).
Reboot the device
Sus ajustes comenzarán a funcionar.
Para camara
El problema es el sistema de archivos que está en modo de solo lectura. Necesitas cambiar el sistema de archivos. Revisa este link .
Después de cambiar el sistema de archivos, presione algunas imágenes y reinicie.
Otro problema que encontré es que no hay una carpeta DCIM presente. Intente crear / mnt / sdcard / DCIM y agregue también algunas imágenes.
Reinicie de nuevo. Todo empezará a funcionar.
Intenté crear un AVD para Jellybean (API 17) en Kubuntu 17.04 mediante el siguiente procedimiento:
Inicie el AVD Manager desde Android Studio
Haga clic en el botón "Crear dispositivo virtual":
Seleccione el perfil de hardware Nexus 4:
Haga clic en Siguiente"
Haga clic en la pestaña "Imágenes x86" y seleccione la imagen "Jelly Bean / 17 / x86 / Android 4.2 (con API de Google)":
Haga clic en Siguiente"
Deje los ajustes en sus valores predeterminados:
Haga clic en "Finalizar"
Ahora, debido a un problema desafortunado con Ubuntu 17.04 (y sus derivados), no es posible iniciar el emulador directamente haciendo clic en el botón de reproducción junto a su entrada. (Al hacer clic no hace nada). En su lugar, debo iniciar el emulador desde el terminal con:
$ cd ~/Android/Sdk/tools
$ LD_PRELOAD=''/usr/$LIB/libstdc++.so.6'' ./emulator -avd Nexus_4_API_17
El emulador se inicia y aparece la pantalla de inicio:
Sin embargo, interactuar con él inmediatamente revela que hay un problema. La cámara muestra un error:
Al hacer clic en "Almacenamiento" en la aplicación de Configuración, la aplicación de Configuración se bloquea.
¿Qué hice mal y cómo puedo solucionar esto?
Editar: Hice clic en "Mostrar configuración avanzada" y confirmé que se debía crear una tarjeta SD:
También confirmé que el archivo ~/.android/avd/Nexus_4_API_17.avd/sdcard.img.qcow2
existe.
Edición: seguí el mismo procedimiento para crear un Kit Kat AVD (usando el perfil de hardware Nexus 5) y el problema no está presente allí. La tarjeta SD funciona como se espera.
Edición: intenté usar mksdcard
para crear manualmente una imagen de tarjeta SD:
mksdcard -l TEST 100M sdcard.img
... y luego pasándolo directamente al emulador:
emulator -sdcard sdcard.img -avd [...]
... pero esto no hizo ninguna diferencia.
Sin embargo, descubrí algo interesante después de abrir una terminal raíz en el dispositivo (usando adb shell
) y ejecutar los comandos mount
y df
:
# mount rootfs / rootfs ro,relatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0 devpts /dev/pts devpts rw,relatime,mode=600 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0 tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0 tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0 /dev/block/vda /system ext4 ro,relatime,data=ordered 0 0 /dev/block/vdb /cache ext4 rw,nosuid,nodev,noatime,errors=panic,data=ordered 0 0 /dev/block/vdc /data ext4 rw,nosuid,nodev,noatime,errors=panic,data=ordered 0 0 # df Filesystem Size Used Free Blksize /dev 757M 68K 757M 4096 /mnt/secure 757M 0K 757M 4096 /mnt/asec 757M 0K 757M 4096 /mnt/obb 757M 0K 757M 4096 /system 532M 349M 183M 4096 /cache 60M 40K 60M 4096 /data 1G 75M 1G 4096
Parece como si la tarjeta SD no se estuviera montando, ya que /dev/block/vdd
falta en la salida anterior y ninguna de las particiones tiene una capacidad de 100M.
Cuando creas un AVD, es posible decir si emular o no la tarjeta SD (y de qué tamaño). Parece que simplemente no ha especificado la presencia de la tarjeta SD. Edite la configuración de su AVD y asegúrese de haber solicitado explícitamente la compatibilidad con la tarjeta SD. Creo que estas opciones en la configuración avanzada en su paso 7.
Después de algunas investigaciones, he encontrado una respuesta: JellyBean es demasiado viejo para usarlo en un emulador reciente.
Si desea continuar usando este sistema y wanto para usar también la tarjeta SD, esto puede ser una buena solución para usted.
Ejecuta manualmente el emulador como:
cd ~/Android/Sdk/emulator
LD_PRELOAD=''/usr/$LIB/libstdc++.so.6'' ./emulator @Nexus_4_API_17 -verbose -engine classic
Tenga en cuenta el clásico del motor que cargará el antiguo / clásico qemu con el kerne kerne-qemu en lugar del nuevo qemu2 con el kernel kernel-ranchu (las opciones disponibles son: auto , classic , qemu2 )
Puedes usar genymotion: https://www.genymotion.com/
Genymotion es un emulador que utiliza la virtualización de la arquitectura x86, lo que lo hace mucho más eficiente.
Aprovechando la aceleración de hardware de OpenGL, le permite probar sus aplicaciones con un increíble rendimiento 3D
http://hackpundit.com/android-emulator-genymotion-installation/
intenta usar Genymotion . Es mucho más rápido. La operación de Genymotion se basa en el uso de Oracle VM VirtualBox en segundo plano. Esto permite la virtualización de los sistemas operativos Android. Si aún no tiene instalado Oracle VM VirtualBox, se le pedirá que lo haga antes de instalar Genymotion.