web-dev-qa-db-ja.com

Androidエミュレーターと仮想ボックスは同時に実行できません

Virtualboxを実行しているときはいつでも、Androidエミュレーターイメージ(およびその逆)を開始できません。AVDマネージャーのエラーメッセージは

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

両方を同時に実行するにはどうすればよいですか?

これはUbuntu 64ビットであり、関連するソフトウェアはすべて最新リリースバージョンです。

90
Bananeweizen

( 'Sudo rmmod kvm_intel kvm'を使用して)kvmカーネルモジュールを削除すると、VirtualboxとAndroidエミュレーターを同時に実行できますが、Androidこのようなセットアップのエミュレーターは非常に悪いです。可能であれば、「Sudo /etc/init.d/vboxdrv stop」を実行してVirtualboxエミュレーターをシャットダウンし、ドライバー(vboxdrv)をアンロードすることをお勧めします。 Linuxに関するセクションの Android Emulator page で。

39
traber

同じVirtualBoxの競合が発生しました。 「x86」(私の場合はarmeabi-v7a)とは異なるABIを使用して解決しました

29

VirtualBoxで実行していた仮想マシンを停止しました。これにより、エラーが消えました。

16
Ole Tange

最終的にこれに対する修正があります。

macOSについては、次の手順に従います。

  1. In Android Studio Tools to Tools-> Android-> SDK Manager

  2. Intel Emulator Accelerator HAXMの最新バージョンがインストールされていることを確認します(v6.1.1) Preferences panel in Android Studio

  3. 環境設定に表示されているAndroid SDKの場所のextrasディレクトリに移動します。MacOSではこれを実行できます。

    open ~/Library/Android/sdk/extras

  4. IntelHAXM_6.1.1.dmgを開き、マウントされたフォルダーでIntelHAXM_6.1.1.mpkgを開き、インストーラーの指示に従ってHAXMパッキングをインストールします。

Windowsの手順は次のとおりです。

  1. In Android Studio Tools to Tools-> Android-> SDK Manager

  2. Intel Emulator Accelerator HAXMの最新バージョンがインストールされていることを確認します(v6.1.1) Preferences panel in Android Studio

  3. 環境設定に表示されるAndroid SDKの場所のextrasディレクトリに移動します。

    C:\Users\<username>\AppData\Local\Android\sdk\extras

  4. そのディレクトリには、intelhaxm-Android.exe。それを実行します。

5
plowman

Ubuntu 13.10でも同じ問題が発生しました。 kvmおよびkvm_intelカーネルモジュールを削除してください。

これをする:

  1. すべてのエミュレーターを停止します。
  2. コマンドを実行:「Sudo rmmod kvm_intel kvm」

これらのカーネルモジュールがなければ、VirtualboxとAndroidエミュレーターが同時に機能します。

ところで、モジュールがロードされる理由はわかりません。

5

また、エミュレーター設定でCPT/ABI設定をx86から​​armに変更することもできます。

4
0x8BADF00D

もう1つの解決策は、 vagrant-libvirt プラグインを使用してlibvirtでバックアップされたvagrantを使用することです。

3
DHH

最終的に、標準のAndroidエミュレーターの代わりにGenymotionを使用して、この問題を廃止しました。この競合がないことに加えて、通常のエミュレーターよりも数倍高速です。

3
Bananeweizen

いずれかの回避策ですが、皆が提案するようにKVM=を無効にするよりも間違いなく良いです。

代わりにKVM=でvirtualboxゲストを実行します。たとえば、kvmqemu-system-x86_64 -enable-kvm

kvm Win7.vdi -boot c -m 2G -vga qxl
2
Hi-Angel

vagrantと2つのプラグイン「libvirt」と「mutate」を使用して、この問題を解決した方法を次に示します。

  1. ターミナルを開き、環境変数を設定します。

     export VAGRANT_DEFAULT_PROVIDER=libvirt
     export VAGRANT_HOME=/home/directoryToStoreVagrant/
     VBoxManage list vms
    
  2. ここで、「c1530713-aec2-4415-a6b5-b057928c7e5f」のような最後のコマンドから取得したコードをコピーし、以下で使用します。

    vagrantパッケージ--base c1530713-aec2-4415-a6b5-b057928c7e5f --output window7.box

     vagrant init window7
     vagrant up window7 --provider=libvirt 
     vagrant box list
    
  3. libvirtmutateなどの迷惑プラグインをインストールする必要があります。 Mutateは.boxをlibvirt VMに変換します:

    vagrantプラグインインストールvagrant-libvirt vagrantプラグインインストールvagrant-mutate

  4. Vagrant Boxをlibvirtに変換:

    vagrant mutate window7_.box libvirt

  5. これで、Vagrant VMを初期化できます。エラーが続く場合は、Vagrantファイルを編集してください。私のように、私はconfig.vm.networkで始まる行のコメントを外してから、以下のコマンドを実行します:

    vagrant up --provider=libvirt

これは私がこのエラーを完全に取り除くことができた方法です

1
muhammad tayyab

HAXM 6.1.2をインストールして解決しました。

詳細については、次のリンクを参照してください:- https://forums.docker.com/t/cant-using-docker-for-mac-with-Android-emulator-haxm/8939/11

1
Rohit Agarwal

場合によっては、virtualboxマシンを起動して実行する必要があるため、すべてのvirtualboxマシンを実行し続け、物理モバイルデバイスに切り替えてエミュレータではなくアプリケーションをテストします。

反応ネイティブまたは実際のAndroid/iosデバイスを使用している場合は、expoを使用できます。

0

OPはVirtualBox + KVM=を同時に要求したという事実により、これはトピック外かもしれませんが、それでも回避策である可能性があります。Windows7を起動する方法を探していました。 Ubuntu 18.10 x64でのAVDおよびAVD KVMは、AVDのパフォーマンスが私にとって重要であるという事実のため、オプションではありません。VirtualMachine Manager(virt-managerパッケージを介してWindows 7 )そして現在、AVDとWindows 7は両方ともハードウェアアクセラレーションです。

0
vocasle