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

Posted

技术标签:

【中文标题】Android emulator64-x86 在启动过程中挂起【英文标题】:Android emulator64-x86 hangs during the boot process 【发布时间】:2013-11-18 22:29:54 【问题描述】:

我使用的是 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】:

在 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 线程,post 16 上找到: https://code.google.com/p/android/issues/detail?id=33817#c16

【讨论】:

您链接的错误是根本原因。我正在使用 -no-audio 手动禁用音频:emulator64-x86 -verbose -avd test442_1 -gpu on -no-audio -qemu -m 2047 -enable-kvm 如何添加补丁? @mcosta,“-no-audio”救了我的培根。在 Jenkins CI 的 Android 模拟器插件中,我刚刚将其添加到“模拟器选项”字段中。谢谢:]

以上是关于Android emulator64-x86 在启动过程中挂起的主要内容,如果未能解决你的问题,请参考以下文章

android ------ Emulator: error: x86 emulation currently requires hardware acceleration

Emulator Android Accelerated x86_Oreo 无法使用 Visual Studio 启动

Android AVD启动报错:emulator: ERROR: x86_64 emulation currently requires hardware acceleration! Please e

ionic cordova 运行 android 导致 PANIC: Missing emulator engine program for 'x86' CPU

Android Studio ERROR: x86 emulation currently requires hardware acceleration!报错解决傻瓜教程~

Android studio 中,遇到报错:ERROR: x86_64 emulation currently requires hardware acceleration! CPU acceler