Android emulator64-x86在启动过程中挂起

时间:2013-11-07 10:13:55

标签: android linux android-emulator

我正在使用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
[...]

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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