qemu-system-i386 在 Mac 上启动 AVD(Android 虚拟设备)时意外退出(非法指令 4)

qemu-system-i386 quit unexpectedly when starting AVD (Android Virtual Device) on a Mac (illegal instruction 4)

我在 Mac 上安装了 Android Studio(Mac专业版,2017 年 8 月,OSX 10.12.4),然后启动,创建了一个 hello world项目并为 运行 我的项目创建了一个 AVD(Android 虚拟设备,Nexus 5)。

当我尝试在模拟器上 运行 我的项目(按下播放按钮)或当我尝试启动模拟器本身时出现错误。

这是错误的屏幕截图:

这是堆栈跟踪的开头:

Process:               qemu-system-i386 [5779]
Path:                  /Users/USER/Library/Android/*/qemu-system-i386
Identifier:            qemu-system-i386
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        studio [4683]
Responsible:           qemu-system-i386 [5779]
User ID:               502

Date/Time:             2017-08-22 13:20:02.612 +0100
OS Version:            Mac OS X 10.12.4 (16E195)
Report Version:        12
Anonymous UUID:        A816A6BA-C97F-6831-E59F-1431A005F23C

Sleep/Wake UUID:       48F2FC89-DF11-4A13-ACEB-E81AF10174B0

Time Awake Since Boot: 15000 seconds
Time Since Wake:       7900 seconds

System Integrity Protection: enabled

Crashed Thread:        4

Exception Type:        EXC_CRASH (SIGILL)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   qemu-system-i386 [5779]

这里是完整的堆栈跟踪:https://pastebin.com/raw/Btt2igX4

禁用/卸载 CylancePROTECT 为我解决了这个问题。

sudo launchctl remove com.cylance.agent_service

同样的软件也阻止我编译 go 程序。

某些内存保护是问题的根源。这是有关 CylancePROTECT 的一些微调的相关文章,可以解决完全卸载软件的问题:runtime: bsdthread_register fatal error (CylancePROTECT)

我通过转到 ADV 管理器 -> Select 虚拟设备 -> 编辑图标 -> Select 图形到软件 GELS-2.0

解决了这个问题