Android emulator64-x86在引导过程中挂起

我正在使用一个64位的Debian,当我尝试运行这个:

$ emulator64-x86 -verbose -avd cocos2dx-emulator -gpu on -qemu -m 2047 -enable-kvm 

该过程只是挂起,唯一的办法就是使用kill -9 ,这是最后输出的行:

 [...] emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/bios.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/lib/pc-bios/bios.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/vgabios-cirrus.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/lib/pc-bios/vgabios-cirrus.bin 

如果我使用emulator-x86,它工作正常:

 $ emulator-x86 -verbose -avd cocos2dx-emulator -gpu on -qemu -m 2047 -enable-kvm [...] emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/bios.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/lib/pc-bios/bios.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/vgabios-cirrus.bin emulator: trying to find: /home/victor/lab/androidr16/android-sdk-linux/tools/lib/pc-bios/vgabios-cirrus.bin emulator: autoconfig: -scale 1 emulator: Could not open file: (null)/system/build.prop: No such file or directory emulator: sent '0012host:emulator:5555' to ADB server [...] 

我不知道发生了什么,我无法在系统日志中find任何可能的相关错误。

有任何想法吗?

AOSP(见下文)也提出了类似的错误,尽管我们大多数人也经历了与emulator-x86相同的结果。

作为解决方法,请尝试卸载KVM并查看仿真器是否运行。 由于不使用CPU的VT扩展,显然会变慢,但是可能会缩小问题的根源。

问题33817:emulator-x86 + kvm在qemu-setup.c中触发无限循环https://code.google.com/p/android/issues/detail?id=33817

然后再一次,你可能只需要运行32位模拟器,这可能不是一个问题。

编辑:这个问题似乎是由external / qemu / audio / paaudio.c调用的pulseaudio代码中的clone()引起的。 添加BEGIN_NOSIGALRM后卫的修补程序位于Issue 33817线程后16位: https : //code.google.com/p/android/issues/detail? id=33817#c16