每当我运行Virtualbox时,我都无法启动Android模拟器图像(反之亦然)。 AVD管理器中的错误消息是
ioctl(KVM_CREATE_VM) failed: Device or resource busy
ko:failed to initialize KVM
如何让两者同时运行?
这是一个Ubuntu 64位,所有涉及的软件都是最新发布的版本。
删除kvm内核模块(使用'sudo rmmod kvm_intel kvm')可以同时运行Virtualbox和Android模拟器,但在这样的设置中Android模拟器的性能非常糟糕。如果可能,最好关闭Virtualbox模拟器并通过运行'sudo /etc/init.d/vboxdrv stop'卸载其驱动程序(vboxdrv)。谷歌在关于Linux的部分中对Android Emulator page提出了这个“解决方案”。
我通过安装HAXM 6.1.2解决了这个问题。
有关详细信息,请参阅以下链接: - https://forums.docker.com/t/cant-using-docker-for-mac-with-android-emulator-haxm/8939/11
以下是如何解决这个问题,使用vagrant和它的两个插件'libvirt'和'mutate':
export VAGRANT_DEFAULT_PROVIDER=libvirt
export VAGRANT_HOME=/home/directoryToStoreVagrant/
VBoxManage list vms
vagrant init window7
vagrant up window7 --provider=libvirt
vagrant box list
vagrant mutate window7_.box libvirt
vagrant up --provider=libvirt
这就是我完全摆脱这个错误的方式
在某些情况下,我们需要保持虚拟机启动并运行,因此让所有虚拟机机器继续运行,切换到物理移动设备来测试应用程序而不是模拟器。
如果你正在使用react-native或你真正的android / ios设备,你可以使用expo。
这可能超出了主题,因为OP同时请求了VirtualBox + KVM,但仍然可能是解决方法:我正在寻找一种在Ubuntu 18.10 x64上启动Windows 7和AVD的方法。关闭KVM不是一种选择,因为AVD的性能对我来说至关重要。我已经通过Virtual Machine Manager(virt-manager软件包)安装了Windows 7,现在AVD和Windows 7都是硬件加速的。
我得到了相同的VirtualBox冲突。使用不同于“x86”的ABI解决了它(在我的例子中是armeabi-v7a)
我停止了使用VirtualBox运行的虚拟机。这使错误消失。
我在Ubuntu 13.10上遇到了同样的问题。尝试删除kvm和kvm_intel内核模块。
去做这个:
没有这些内核模块,Virtualbox和Android模拟器可以同时工作。
顺便说一句,我不知道为什么模块被加载。
最后有一个解决方案。
请按照以下步骤操作macOS:
extras
目录。在MacOS上,您可以这样做:
open ~/Library/Android/sdk/extras
请按照以下步骤操作Windows:
您还可以在仿真器设置中将CPT / ABI设置从x86更改为arm。
我终于通过使用Genymotion而不是标准的Android模拟器使这个问题过时了。除了没有这种冲突,它比普通的仿真器快几倍。
另一个解决方案是使用vagrant-libvirt插件使用libvirt支持的vagrant。
虽然这也是一种解决方法,但绝对比每个人都建议的禁用KVM更好。
只需在KVM中运行virtualbox guest虚拟机即可。例如(kvm
这里只是一个运行qemu-system-x86_64 -enable-kvm
的脚本):
kvm Win7.vdi -boot c -m 2G -vga qxl