Wenn Virtualbox ausgeführt wird, kann ich kein Android-Emulator-Image starten (und umgekehrt). Die Fehlermeldung im AVD Manager lautet
ioctl(KVM_CREATE_VM) failed: Device or resource busy
ko:failed to initialize KVM
Wie kann ich beide gleichzeitig ausführen lassen?
Das ist eine 64-Bit-Version von Ubuntu, die gesamte Software ist von der neuesten Version.
Durch das Entfernen der kvm-Kernelmodule (mithilfe von 'Sudo rmmod kvm_intel kvm') können die Virtualbox und der Android-Emulator gleichzeitig ausgeführt werden. Die Leistung des Android-Emulators in einem solchen Setup ist jedoch äußerst schlecht. Wenn möglich, empfiehlt es sich, den Virtualbox-Emulator herunterzufahren und den Treiber (vboxdrv) zu deinstallieren, indem Sie "Sudo /etc/init.d/vboxdrv stop" ausführen. Google schlägt diese "Lösung" auf seiner Android Emulator-Seite im Abschnitt zu Linux vor.
Ich habe den gleichen VirtualBox-Konflikt erhalten.
Ich habe die virtuellen Maschinen gestoppt, die ich mit VirtualBox ausgeführt habe. Dadurch verschwand der Fehler.
Ich hatte das gleiche Problem auf Ubuntu 13.10 . Versuchen Sie, die Kernmodule kvm und kvm_intel zu entfernen.
Um dies zu tun:
Ohne diese Kernelmodule können Virtualbox und Android-Emulatoren gleichzeitig arbeiten.
Übrigens weiß ich nicht, warum die Module geladen werden.
Hier gibt es endlich ein Update.
Folgen Sie diesen Schritten für macOS:
In Android Studio Gehen Sie zu Extras -> Android -> SDK-Manager
Bestätigen Sie, dass Sie die neueste Version von Intel Emulator Accelerator HAXM installiert haben (v6.1.1) .
Wechseln Sie in das Verzeichnis extras
des Android-SDK-Speicherorts, der in den Voreinstellungen angezeigt wird. Unter MacOS können Sie Folgendes tun:
open ~/Library/Android/sdk/extras
Installieren Sie das HAXM-Paket, indem Sie IntelHAXM_6.1.1.dmg und dann IntelHAXM_6.1.1.mpkg im eingebundenen Ordner öffnen.
Führen Sie die folgenden Schritte für Windows aus:
In Android Studio Gehen Sie zu Extras -> Android -> SDK-Manager
Bestätigen Sie, dass Sie die neueste Version von Intel Emulator Accelerator HAXM installiert haben (v6.1.1) .
Wechseln Sie in das Verzeichnis extras
des Android-SDK-Speicherorts, der in den Voreinstellungen angezeigt wird. So etwas wie:
C:\Users\<username>\AppData\Local\Android\sdk\extras
In diesem Verzeichnis befindet sich eine Art Datei wie intelhaxm-Android.exe
. Starte es.
Sie können auch die CPT/ABI-Einstellung in den Emulatoreinstellungen von x86 auf arm setzen.
Ich habe dieses Problem durch die Verwendung von Genymotion anstelle des Android-Emulators endgültig überflüssig gemacht. Abgesehen davon, dass er diesen Konflikt nicht hat, ist er um ein Vielfaches schneller als der normale Emulator.
Eine andere Lösung ist die Verwendung von libvirt-unterstütztem Vagrant mit vagrant-libvirt plugin.
Es ist zwar auch eine Problemumgehung, aber definitiv besser als die Deaktivierung von KVM, wie von allen vorgeschlagen.
Führen Sie einfach den Virtualbox-Gast stattdessen in KVM aus. Zum Beispiel (kvm
hier ist nur ein Skript, das einen qemu-system-x86_64 -enable-kvm
ausführt) :
kvm Win7.vdi -boot c -m 2G -vga qxl
Hier ist, wie dieses Problem mit vagrant und den beiden Plugins 'libvirt' und 'mutate' behoben wurde:
Öffnen Sie das Terminal und setzen Sie die Umgebungsvariablen:
export VAGRANT_DEFAULT_PROVIDER=libvirt
export VAGRANT_HOME=/home/directoryToStoreVagrant/
VBoxManage list vms
Kopieren Sie nun den Code aus dem letzten Befehl wie "c1530713-aec2-4415-a6b5-b057928c7e5f" und verwenden Sie ihn im Folgenden:
vagabundpaket --base c1530713-aec2-4415-a6b5-b057928c7e5f --output window7.box
vagrant init window7
vagrant up window7 --provider=libvirt
vagrant box list
Sie müssen einige bekannte Plugins wie libvirt und mutate installieren. Mutate konvertiert .box nach libvirt VM:
vagrant plugin installiere vagrant-libvirt vagrant plugin installiere vagrant-mutate
Vagrant box zu libvirt konvertieren:
vagrant mutate window7_.box libvirt
Jetzt können Sie die virtuelle Maschine initialisieren. Wenn ein Fehler weiterhin auftritt, bearbeiten Sie Ihre Vagrant-Datei. Wie bei mir beginnt die Zeile mit config.vm.network und führt dann den folgenden Befehl aus:
vagrant up --provider=libvirt
So konnte ich diesen Fehler komplett beseitigen
Ich habe es durch die Installation von HAXM 6.1.2 gelöst.
Weitere Informationen finden Sie unter folgendem Link: - https://forums.docker.com/t/cant-using-docker-for-mac-with-Android-emulator-haxm/8939/11
In einigen Fällen müssen Virtualbox-Maschinen am Laufen gehalten werden. Lassen Sie daher alle Virtualbox-Maschinen weiterlaufen. Wechseln Sie zu einem physischen mobilen Gerät, um Ihre Anwendung anstelle des Emulators zu testen.
sie können expo verwenden, wenn Sie reaktives oder ein echtes Android/ios-Gerät verwenden.
Dies könnte nicht der Fall sein, da OP in derselben Zeit VirtualBox + KVM angefordert hat, aber es könnte auch die Problemumgehung sein: auf Ubuntu 18.10 x64. Das Deaktivieren von KVM ist keine Option, da die Leistung von AVD für mich kritisch ist. Ich habe Windows 7 über Virtual Machine Manager (virt-manager package) installiert und jetzt sind sowohl der AVD als auch Windows 7 hardwarebeschleunigt.