You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Garuda Linux下VS Code中Flutter启动安卓模拟器报退出码-11如何解决

Garuda Linux 下Flutter启动安卓模拟器报退出码-11解决方案

退出码-11是Linux系统下进程触发SIGSEGV段错误的标准返回值,代表进程发生非法内存访问导致崩溃。结合你在Garuda(Arch系滚动发行版)环境下,通过flutter emulators --launch Pixel_3a_API_25启动模拟器的场景,按以下优先级排查修复:

1. 修复KVM硬件加速配置(最高发诱因)

  • 先确认CPU虚拟化已开启:执行egrep -c '(vmx|svm)' /proc/cpuinfo,返回值大于0代表硬件虚拟化可用,若返回0需要进入BIOS开启Intel VT-x/AMD-V选项
  • 检查KVM内核模块加载状态:执行lsmod | grep kvm,若无对应输出,根据你的CPU类型执行对应命令安装组件并加载模块:
    • Intel平台:sudo pacman -S qemu-full && sudo modprobe kvm_intel
    • AMD平台:sudo pacman -S qemu-full && sudo modprobe kvm_amd
  • 修正KVM设备访问权限:执行sudo usermod -aG kvm $USER,必须注销当前用户重新登录才能让权限生效。普通用户没有/dev/kvm设备访问权限时,安卓模拟器会直接触发段错误崩溃,是-11类报错的最常见原因

2. 排查当前AVD镜像的兼容问题

  • 核对AVD的CPU架构:打开Pixel_3a_API_25对应的配置文件(路径~/.android/avd/Pixel_3a_API_25.avd/config.ini),确认abi.type字段为x86_64。如果配置为arm/arm64架构,在x86主机上运行会因指令集不兼容直接崩溃,需要重新创建对应x86_64架构的虚拟设备
  • 切换图形渲染模式:如果后续详细日志提示GL渲染相关报错,编辑该AVD的配置文件,将hw.gpu.mode字段从auto改为guest(软件渲染模式),解决显卡驱动下硬件GL渲染触发的段错误问题

3. 补齐系统依赖与组件版本

  • Garuda为滚动发行版,对应API25的旧版模拟器依赖32位系统库,执行以下命令补齐缺失依赖:sudo pacman -S lib32-gtk3 lib32-nss lib32-zlib lib32-libgl
  • 更新安卓模拟器组件到最新版本:执行sdkmanager --install emulator,避免旧版模拟器与新版系统内核、显卡驱动的兼容问题

4. 定位根因的验证方法

  • 绕开Flutter的启动命令,直接在终端执行emulator -avd Pixel_3a_API_25 -verbose查看详细崩溃日志:
    • 如果直接执行命令也报-11,说明问题和VS Code、Flutter环境无关,为模拟器本身的系统配置/镜像兼容问题
    • 如果直接执行命令启动正常,说明是Flutter启动流程的环境变量识别问题,检查当前终端是否正确加载ANDROID_HOME配置

内容的提问来源于stack exchange,提问作者Abhijith A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 00:36:07