android - 模拟器无法正常启动 "ERROR: detected a hanging thread"

标签 android android-emulator emulation

我无法在我的 Mac Mini 上正确启动模拟器。 当我执行模拟器命令时,模拟器窗口出现,启动动画开始,但过了一会儿我得到这个错误信息:

ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms

模拟器要么退出要么变得完全没有响应。

Mac Mini 是 2012 年底的,拥有 16GB RAM,2.5 GHz Intel Core i5 CPU 和 HD 4000 显卡;不是最快的,但应该能够运行模拟器(过去已经能够毫无问题地做到这一点)

我试过:

更新模拟器:

emulator -version
Android emulator version 28.0.25.0 (build_id 5395263) (CL:77b96786ddf712e1477c6e05cddb09526043faef)

验证 Intel Haxm 是否已安装:

 kextstat | grep intel
  102    0 0xffffff7f83833000 0x28000    0x28000    com.intel.kext.intelhaxm (7.3.2) 58DFBE80-E54A-3EFE-B38A-215C5ED8E828 <7 5 4 3 1>

在没有音频和窗口的情况下运行模拟器:

emulator -no-audio -no-window  -no-boot-anim @avd

(相同的结果)

降低avd的分辨率:

hw.lcd.density = 240
hw.lcd.height = 960
hw.lcd.width = 540

在avd的config.ini中

禁用/启用 IPv6 不会改变任何内容。

完整配置文件:

PlayStore.enabled = false
abi.type = x86
avd.ini.encoding = UTF-8
hw.accelerometer = yes
hw.audioInput = yes
hw.battery = yes
hw.cpu.arch = x86
hw.dPad = no
hw.device.hash2 = MD5:1c925b9117dd9f33c5128dac289a0d68
hw.device.manufacturer = Google
hw.device.name = Nexus 5
hw.gps = yes
hw.lcd.density = 240
hw.lcd.height = 960
hw.lcd.width = 540
hw.mainKeys = no
hw.sdCard = no
hw.sensors.orientation = yes
hw.sensors.proximity = yes
hw.trackBall = no
image.sysdir.1 = system-images/android-28/google_apis/x86/
tag.display = Google APIs
tag.id = google_apis
hw.gpu.mode = host
hw.gpu.enabled = yes
skin.dynamic = yes
hw.ramSize = 2048

模拟器命令的完整输出:

 emulator @avd
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs user file path = /Users/dgns/Library/Preferences/com.apple.HIToolbox.plist
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs effective user id path = 501
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs user pref content = <CFBasicHash 0x7fa6a164d730 [0x7fffaa5028e0]>{type = immutable dict, count = 1,
entries =>
    0 : <CFString 0x7fa6a1616070 [0x7fffaa5028e0]>{contents = "AppleSavedCurrentInputSource"} = <CFBasicHash 0x7fa6a164d6f0 [0x7fffaa5028e0]>{type = immutable dict, count = 3,
entries =>
    0 : <CFString 0x7fffaa570f68 [0x7fffaa5028e0]>{contents = "InputSourceKind"} = <CFString 0x7fffaa5b64a8 [0x7fffaa5028e0]>{contents = "Keyboard Layout"}
    1 : <CFString 0x7fffaa56bc68 [0x7fffaa5028e0]>{contents = "KeyboardLayout Name"} = Austrian
    2 : <CFString 0x7fffaa5a25e8 [0x7fffaa5028e0]>{contents = "KeyboardLayout ID"} = <CFNumber 0x5c37 [0x7fffaa5028e0]>{value = +92, type = kCFNumberSInt64Type}
}

}
emulator: INFO: boot completed
emulator: ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms
emulator: ERROR: detected a hanging thread 'QEMU2 CPU1 thread'. No response for 15011 ms
emulator: ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms
which emulator
/Users/<user>/Library/Android/sdk/emulator/emulator

预期结果:模拟器启动并能够在之后运行自动化测试

实际结果:模拟器退出或挂起

最佳答案

我在 Mac Mini 上遇到了同样的问题。这对我有用:

转到工具->AVD 管理器->编辑(特定模拟器)>显示高级设置

然后在仿真性能部分,我将其从快速启动更改为冷启动。

如果这不起作用,可以找到其他选项 here .

关于android - 模拟器无法正常启动 "ERROR: detected a hanging thread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536046/

相关文章:

android - 更新到 Android N 后 LogCat 不工作

android 2.2 应用程序无法在 android 4.0 中运行

android - Google maps API V2 安装到真机后黑屏

windows - SQLLOCALDB 问题

android - 从android中的视频中提取位图

java - 从 fragment 创建一个通用方法来设置结果

android - Robotium Android 测试用例

Android studio - 模拟器堆叠在屏幕外

android - 在 Android 模拟器中加载 GPX 文件后位置顺序错误

azure - 使用方法 : Create role instances on emulator