Immer 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?
Das ist ein Ubuntu 64 Bit, alle beteiligten Software ist von der neuesten veröffentlichten Version.
quelle
Ich habe den gleichen VirtualBox-Konflikt. Es wurde mit ABI gelöst, das sich von "x86" unterscheidet (in meinem Fall armeabi-v7a).
quelle
Ich habe die virtuellen Maschinen gestoppt, die ich mit VirtualBox ausgeführt habe. Dadurch verschwand der Fehler.
quelle
killall virtualbox
Sollte es tun.docker-machine stop machine-name
das Problem behoben, wie in dieser Antwort vorgeschlagenIch hatte das gleiche Problem unter Ubuntu 13.10. Versuchen Sie, die Kernelmodule 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 sind.
quelle
Es gibt endlich eine Lösung dafür.
Befolgen Sie diese Schritte für macOS :
Gehen Sie in Android Studio zu Extras -> Android -> SDK-Manager
Stellen Sie sicher, dass Sie die neueste Version von Intel Emulator Accelerator HAXM installiert haben (v6.1.1) .
Wechseln Sie in das
extras
Verzeichnis des Android SDK-Speicherorts, das in den Einstellungen angezeigt wird. Unter MacOS können Sie dies tun:open ~/Library/Android/sdk/extras
Installieren Sie die HAXM-Verpackung, indem Sie IntelHAXM_6.1.1.dmg öffnen, dann IntelHAXM_6.1.1.mpkg im bereitgestellten Ordner öffnen und den Anweisungen des Installationsprogramms folgen.
Befolgen Sie diese Schritte für Windows :
Gehen Sie in Android Studio zu Extras -> Android -> SDK-Manager
Stellen Sie sicher, dass Sie die neueste Version von Intel Emulator Accelerator HAXM installiert haben (v6.1.1) .
Wechseln Sie in das
extras
Verzeichnis des Android SDK-Speicherorts, das in den Einstellungen angezeigt wird. Etwas wie:C:\Users\<username>\AppData\Local\Android\sdk\extras
In diesem Verzeichnis befindet sich eine Art Datei wie
intelhaxm-android.exe
. Starte es.quelle
Sie können die CPT / ABI-Einstellung auch von x86 ändern, um die Emulatoreinstellungen zu aktivieren.
quelle
Ich habe dieses Problem endlich beseitigt, indem ich Genymotion anstelle des Standard-Android-Emulators verwendet habe. Abgesehen davon, dass dieser Konflikt nicht auftritt, ist er um ein Vielfaches schneller als der normale Emulator.
quelle
Eine andere Lösung besteht darin, einen von libvirt unterstützten Vagrant mit dem Vagrant-Libvirt- Plugin zu verwenden.
quelle
Es ist zwar auch eine Problemumgehung, aber definitiv besser als die Deaktivierung von KVM, wie alle vorschlagen.
Führen Sie stattdessen einfach den Virtualbox-Gast in KVM aus. Zum Beispiel (
kvm
hier ist nur ein Skript, in dem a ausgeführt wirdqemu-system-x86_64 -enable-kvm
) :quelle
Ich habe es durch die Installation von HAXM 6.1.2 behoben.
Weitere Informationen finden Sie unter folgendem Link: - https://forums.docker.com/t/cant-using-docker-for-mac-with-android-emulator-haxm/8939/11
quelle
In einigen Fällen müssen wir die Virtualbox-Maschinen am Laufen halten. Lassen Sie daher alle Virtualbox-Maschinen weiter laufen. Wechseln Sie zum physischen Mobilgerät, um Ihre Anwendung anstelle des Emulators zu testen.
Sie können expo verwenden, wenn Sie mit React-Native oder Ihrem echten Android / iOS-Gerät arbeiten.
quelle
Dies könnte aufgrund der Tatsache, dass OP gleichzeitig VirtualBox + KVM angefordert hat, nicht zum Thema gehören, aber dennoch könnte es die Problemumgehung sein: Ich suchte nach einer Möglichkeit, Windows 7 und AVD unter Ubuntu 18.10 x64 zu starten. Das Ausschalten von KVM ist keine Option, da die Leistung von AVD für mich von entscheidender Bedeutung ist. Ich habe Windows 7 über Virtual Machine Manager (virt-manager package) installiert und jetzt sind sowohl AVD als auch Windows 7 hardwarebeschleunigt.
quelle
Hier ist, wie dieses Problem mithilfe von Vagrant und den beiden Plugins 'libvirt' und 'mutate' gelöst wurde :
Öffnen Sie das Terminal und legen Sie die Umgebungsvariablen fest:
Kopieren Sie nun den vom letzten Befehl erhaltenen Code wie "c1530713-aec2-4415-a6b5-b057928c7e5f" und verwenden Sie ihn wie folgt:
Sie müssen einige vagabundierende Plugins wie libvirt und mutate installieren . Mutate konvertiert .box in libvirt VM:
Vagrant Box in libvirt konvertieren:
vagrant mutate window7_.box libvirt
Jetzt können Sie die vagabundierende VM initialisieren. Wenn ein Fehler weiterhin besteht, bearbeiten Sie Ihre Vagrant-Datei. Wie bei mir kommentiere ich, dass die Zeile mit config.vm.network beginnt und dann den folgenden Befehl ausführt :
vagrant up --provider=libvirt
So konnte ich diesen Fehler vollständig beseitigen
quelle