8

我使用的是 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
[...]

我对发生的事情一无所知,也无法在系统日志中找到任何可能的相关错误。

有任何想法吗?

4

1 回答 1

7

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 防护的补丁可在问题 33817 线程,帖子 16 上找到: https ://code.google.com/p/android/issues/detail?id=33817#c16

于 2014-01-30T02:15:07.270 回答