可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm trying to use the Intel HAX x86 emulator for Windows (8, if that matters). I installed everything and created an AVD for the android version, and everything appears correct, but when I run it, I get this output:
Starting emulator for AVD 'x86_QVGA_Level10'
emulator: device fd:1044
HAX is working and emulator runs in fast virt mode
emulator: Failed to sync vcpu reg
emulator: Failed to sync HAX vcpu context
and the emulator won't run. The significant part of this error (Failed to sync vcpu reg)
is not mentioned ANYWHERE online, except in the source code for the HAX itself, but I can't figure out how to make any sense of this.
Can anyone advise about how to get past this error? I really need to get this working, because debugging on device and in the default emulators is painfully slow.
回答1:
Make sure you don't have any virtual machines running. In my case, I had genymotion running which was causing this error.
回答2:
I had virtualbox running. Killing the VM allowed allowed the emulator to run.
回答3:
If you are running Docker you would have to take the virtual machine down
docker-machine stop default
This assumes your docker machine is called default
. If you want to check the name use
docker-machine ls
A simpler solution; open virtuabox and stop the vm :-)
回答4:
I had this problem. For me it was the HAXM version.
When you get a new version of HAMX through the SDK Manager, it tells you that it is installed. It is not. You must go to this folder:
<Android SDK>\extras\intel\Hardware_Accelerated_Execution_Manager\
and run intelhaxm-android.exe manually. In my case, I had 1.0.6 and upgraded to 1.1.
I think that what caused the error in the first place was that some other part of the SDK that I had updated needed 1.1.
回答5:
As mentioned by other answers, make sure no VirtualBox and docker service is running with following command in mac. (systemctl
in Linux)
$ launchctl list | grep 'VirtualBox\|docker'
- 0 com.docker.helper
640 0 com.docker.docker.2032
31736 0 org.virtualbox.app.VirtualBox.948
If so, kill the VBox
and docker
service.
launchctl stop org.virtualbox.app.VirtualBox.948
launchctl stop com.docker.docker.2032
回答6:
- Stop GENYMOTION (open VirtualBox instance if any instance is running, stop it).
- Open AndroidStudio -> Run AVD Manager-> run AndroidStudio virtual device.
Latest Android Emulators are not able to run in parallel with GENYMOTION
回答7:
"vcpu reg" are "Virtual CPU REGisters" that exist on many processors that have things like multiple cores, hyperthreading, or other features that enable higher layers to believe that there is more than one CPU present when there isn't -- such as today's x86s. No reason to go in to detail -- you can imagine that getting a coherent, single "virtual CPU context" is necessary for the kind of hardware virtualization that HAX offers.
Normally, it's not a problem to run multiple virtual machines of various sorts simultaneously. But if one of them crashes, or misbehaves, or just decides to be a hog, HAX might find that it just can't put together a coherent virtual machine, because it can't sync a virtual CPU context for itself. It'd be like trying to run a real machine with no CPU.
Bottom line is open task manager and kill things that you don't need and that look like they might be holding virtual machine resources. In the worst case, a reboot is almost certain to fix the problem.
回答8:
Quick steps:
- Stop all VirtualBox Virtual Machines (i.e. vagrant halt), quit VirtualBox.
- All docker-machines should be stopped, too. Quit Docker.
回答9:
This happened to me also when I was trying to run both VirtualBox and Android emulator in a MacOS machine. As others have mentioned above currently it is not possible to run both (i.e. VirtualBox and X86 -Intel based emulator) in MacOS and not sure about the other platforms.
If we need to run both we can choose ARM based emulator. (arm based emulators are normally slow)
回答10:
I was getting the same error. I'm guessing there are various reasons for this error, but in my case it was because of a service named ".NCG". The service is Network Content Guard by Inka Entworks, and seems to be some type of DRM solution. Once uninstalled, the emulator worked fine using HAX.
回答11:
In my case, it turned out this problem was caused by having a webcam selected as "Front Camera" in the settings for the AVD. Setting it to "Emulated" fixed this problem for me.
回答12:
I faced this issue because I had my virtual box running with Ubuntu on it. When I shut down my virtual box I did not face this issue.
回答13:
I got the same error on my windows 8 install.
Things you could try:
- lower the amount of memory for the emulated device (and/or close other applications)
- disable GPU emulation
- remove the pass-through webcam
For me, the error occurs when I try to attach a physical webcam to the emulated android instance.
回答14:
This kept failing until I changed it to [x] Use Host GPU as shown in pic.
回答15:
I'm running boot2docker vm, just down it solved the issue.
boot2docker down
回答16:
Make sure you don't have any virtual machines running. In my case, I had genymotion running which was causing this error. when i kill genymotion's Process and kill all Oracle VM VirtualBox related process then it work
by wangshiming
don't thankyou me
回答17:
Ya, i had virtual box running and was getting this error, shutting it down fixed the error.
回答18:
I was on a mac and had this problem. I did not think I was running a VM (I have vbox but it isn't running). I restarted my computer and before starting any other apps I tried the emulator and it works fine.
回答19:
This is the VirtualBox ticket - https://www.virtualbox.org/ticket/14294
回答20:
Yes, VirtualBox VMs have to be stopped. I also had to stop Docker for Mac. The error message only mentions VirtualBox, which confused me a little until I realized Docker for Mac is running xhyve.
回答21:
If your CPU supports throttling (like Intel's SpeedStep) try to disable that feature in your BIOS. It's kind of a quickfix but at least it worked.
回答22:
I think it must be a variety of reasons cause this failure. In my case, since I installed the Google input method software, "Failed to sync vcpu reg" appeared. This was the one and only change before normal working. So, after uninstall the Google Input software, it was recovered.just a little reference, although I can't believe this solution for long time either.
回答23:
I had the Windows Virtual PC running (on Windows of course). Once I turned off, the emulator went fine.
Hope this helps.
回答24:
I was trying to launch a Gingerbread 2.3.3 x86 emulator and it would not launch. Changing from x86 to arm made the problem go away.
回答25:
For me, the only thing that worked using adv on MacOs Yosemite, is setting the processor to ARM
(native CPU of the device - standard 4" Nexus).
回答26:
If you are having any virtual machines running, suspend them and try again.
回答27:
For me the answer was to set Enable keyboard input
to true under the advanced settings of the virtual device.
This was the first option I changed on the device, so it is possible that the act of changed an option fixes the error as well based on the wide array of answers above.
Note: I've confirmed previously that no VM's are running.
回答28:
Fixed the problem by changing current version of Java within Windows from Java 8 x64 to Java 7 x86.
回答29:
Finally, I found the anwer for this question.
I had exactly the same problem and it was completely solved.
Virtual device or webcam is rarely the cause of your problem.
Just install mainboard chipset driver.
I recommend you to use 3DP chipset autoinstaller.
Good luck!
回答30:
For me it was google appengine running locally.