Linux – No se puede ejecutar virtualbox y un emulador de android al mismo tiempo

Para probar tus aplicaciones móviles, el android SDK incluye un emulador. El problema es que no puedes utilizar este emulador si estas ejecutando alguna otra máquina virtual -en virtualbox, por ejemplo-
Al intentar ejecutar el emulador mientras ejecutas alguna máquina virtual aparecen errores como los siguientes

ioctl(KVM_CREATE_VM) failed: Device or resource busy
ko:failed to initialize KVM

[Emulator] error libGL.so: cannot open shared object file: No such file or directory
[Emulator] Failed to load libGL.so

Tiene algo que ver con la aceleración por hardware. En la documentación de Google especifica lo siguiente

If you use another virtualization technology in your Linux platform, unload its kernel driver before running the x86 emulator. For example, the VirtualBox driver program is vboxdrv.

Para hacer esto supuestamente ejecutas sudo /etc/init.d/vboxdrv stop pero si instalaste VirtualBox desde los repositorios en Ubuntu 14.04, ete archivo no existe. Supuestamente tendrías que ejecutar los siguientes comandos para tenerlo disponible

sudo apt-get install linux-headers-`uname -r`
sudo dpkg-reconfigure virtualbox-dkms  
sudo modprobe vboxdrv

Pero seguía sin existir el archivo, descubrí -sin embargo- que existe un archivo llamado /etc/init.d/virtualbox así que ejecute el comando /etc/init.d/virtualbox stop y detuvo efectivamente los drivers del kernel. Después de hacer esto ya pude iniciar el emulador pero ahora no podía iniciar la máquina virtual de VirtualBox.

Al final he decidido no utilizar el emulador y en su lugar utilizar un dispositivo físico para poder ejecutar mi máquina virtual y probar la aplicación móvil al mismo tiempo.

Fuentes:

Un comentario sobre “Linux – No se puede ejecutar virtualbox y un emulador de android al mismo tiempo

Deja un comentario