Android emulator Android emulator和virtualbox不能同时运行

Android emulator Android emulator和virtualbox不能同时运行,android-emulator,virtualbox,kvm,Android Emulator,Virtualbox,Kvm,每当我运行Virtualbox时,我都无法启动Android仿真器映像(反之亦然)。AVD管理器中的错误消息为 ioctl(KVM_CREATE_VM) failed: Device or resource busy ko:failed to initialize KVM 如何使两者同时运行 这是一个64位的Ubuntu,所有涉及的软件都是最新发布的版本。我在Ubuntu 13.10上也遇到了同样的问题。 尝试删除kvm和kvm_英特尔内核模块 为此: 停止所有模拟器 运行命令:“sudo r

每当我运行Virtualbox时,我都无法启动Android仿真器映像(反之亦然)。AVD管理器中的错误消息为

ioctl(KVM_CREATE_VM) failed: Device or resource busy
ko:failed to initialize KVM
如何使两者同时运行


这是一个64位的Ubuntu,所有涉及的软件都是最新发布的版本。

我在Ubuntu 13.10上也遇到了同样的问题。 尝试删除kvm和kvm_英特尔内核模块

为此:

  • 停止所有模拟器
  • 运行命令:“sudo rmmod kvm\u英特尔kvm”
  • 如果没有这些内核模块,Virtualbox和Android模拟器可以同时工作


    顺便说一句,我不知道为什么要加载模块

    删除kvm内核模块(使用“sudo rmmod kvm_intel kvm”)可以同时运行Virtualbox和Android emulator,但Android emulator在这种设置下的性能非常差。如果可能,最好关闭Virtualbox emulator并通过运行“sudo/etc/init.d/vboxdrv stop”卸载其驱动程序(vboxdrv)。谷歌在关于Linux的一节中提出了这一“解决方案”

    您还可以在emulator设置中将CPT/ABI设置从x86更改为arm。

    我停止了使用VirtualBox运行的虚拟机。这使错误消失。

    我遇到了相同的VirtualBox冲突。
    通过使用不同于“x86”的ABI(我的例子中是armeabi-v7a)解决了这个问题。

    我最终通过使用GenyMoon而不是标准的Android仿真器来解决这个问题。除了没有这种冲突之外,它比普通的模拟器快好几倍。

    虽然这也是一种解决方法,但肯定比大家建议的禁用KVM要好

    只需在KVM中运行virtualbox来宾。例如(
    kvm
    这里只是一个运行
    qemu-system-x86\u 64-启用kvm
    的脚本):


    我通过安装haxm6.1.2解决了这个问题


    有关详细信息,请参阅以下链接:-

    终于有了解决方案。

    对于macOS,请遵循以下步骤:

  • 在Android Studio中,进入工具->Android->SDK管理器

  • 确认已安装最新版本的“英特尔仿真程序加速卡HAXM”(v6.1.1)

  • 转到首选项中显示的Android SDK位置的
    extras
    目录。在MacOS上,您可以执行以下操作:

    open~/Library/Android/sdk/extras

  • 打开IntelHAXM_6.1.1.dmg,然后打开已安装文件夹中的IntelHAXM_6.1.1.mpkg,并按照安装说明安装HAXM填料

  • 对于Windows,请执行以下步骤:

  • 在Android Studio中,进入工具->Android->SDK管理器

  • 确认已安装最新版本的“英特尔仿真程序加速卡HAXM”(v6.1.1)

  • 转到首选项中显示的Android SDK位置的
    extras
    目录。比如:

    C:\Users\\AppData\Local\Android\sdk\extras

  • 在该目录中有一种文件,如
    intelhaxmandroid.exe
    。运行它


  • 在某些情况下,我们需要让virtualbox机器保持运行,因此让所有virtualbox机器保持运行,切换到物理移动设备来测试应用程序,而不是模拟器


    如果您使用react native或真正的android/ios设备,则可以使用expo。

    另一种解决方案是使用插件使用libvirt支持的vagrant。

    这可能是不恰当的,因为OP同时请求VirtualBox+KVM,但这可能是解决方法:
    我在寻找一种在Ubuntu 18.10 x64上启动Windows7和AVD的方法。关闭KVM不是一个选项,因为AVD的性能对我来说至关重要。我已经通过Virtual Machine Manager(virt Manager软件包)安装了Windows 7,现在AVD和Windows 7都进行了硬件加速。

    下面是如何解决这个问题的,使用了vagrant和两个插件“libvirt”和“mutate”:

  • 打开终端并设置环境变量:

     export VAGRANT_DEFAULT_PROVIDER=libvirt
     export VAGRANT_HOME=/home/directoryToStoreVagrant/
     VBoxManage list vms
    
  • 现在复制从上一个命令获得的代码,如 “c1530713-aec2-4415-a6b5-b057928c7e5f”并在以下情况下使用:

    流浪包——基础c1530713-aec2-4415-a6b5-b057928c7e5f --输出窗口7.box

  • 您需要安装一些流浪插件,如libvirt变异。Mutate将.box转换为libvirt VM:

    vagrant插件安装vagrant libvirt 流浪插件安装流浪变异

  • 将vagrant box转换为libvirt:

    vagrant mutate window7.box libvirt

  • 现在,您可以初始化流浪汉虚拟机。如果任何错误仍然存在,请转到 编辑你的流浪汉档案。像我一样,我取消注释,行以 config.vm.network然后运行下面的命令:

    vagrant up--provider=libvirt


  • 这就是我如何能够完全摆脱这个错误的原因。对于那些在Linux上开发并且被困在virtualbox内部运行的大量后端系统的人来说,一个简单的解决方案就是创建一个virtualbox X86 Android虚拟机,并在NAT接口上公开5555端口,该端口通过PAT从localhost隧道传输。 不需要慢臂AVD,不需要libvirt/vagrant更不用说杀死kvm了

    然后让亚洲开发银行知道

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    $ adb connect 127.0.0.1
    connected to 127.0.0.1:5555
    $ adb devices
    List of devices attached adb server
    * daemon started successfully
    emulator-5554   device
    
    然后,在Android Studio中按run或debug将在该VM上部署和执行。
    您在Android Studio调试器下拥有完全的控制权。

    警告一句:虽然这确实有效,但删除KVM内核模块将导致英特尔Android映像的性能大幅下降,因为您在没有内核模块的情况下失去了CPU的硬件加速支持。@Tajchert:to revert:'sudo modprobe kvm_intel kvm'x86。。。模拟器拒绝在没有KVM模块的情况下运行。呸。这两个驱动程序都是必需的,但是模拟器将会非常慢。。。但在
     vagrant init window7
     vagrant up window7 --provider=libvirt 
     vagrant box list
    
    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    $ adb connect 127.0.0.1
    connected to 127.0.0.1:5555
    $ adb devices
    List of devices attached adb server
    * daemon started successfully
    emulator-5554   device