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

标签 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
[...]

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

有什么想法吗?

最佳答案

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

关于Android emulator64-x86 在启动过程中挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19833213/

相关文章:

android - 横向 SW 键盘上面没有文本字段吗?

android - 将动态子项添加到 ExpandableListView(添加记录时)

java - 继承自 2 个已在 java 中定义的类

android - "Contacts"是否可通过模拟器获得?

Android 模拟器基于 QEMU。我可以使用 KVM 吗?

android - onTouchEvent() 回调不起作用

Android等待启动BluetoothSco SCO_AUDIO_STATE_CONNECTED

python - 从 cron 中的 Matlab 进程调用 Python 脚本

linux - 将 shell 命令的输出分配给变量

python - virtualenv 中的 pip 命令被系统 pip 命令忽略