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

Dart代码在Android模拟器中长时间无法运行该如何解决?

我打开Android模拟器后开始运行Dart代码,了解到该过程耗时较长,因此等待了约5-6小时,但代码始终无法正常运行

问题原因与排查解决方法

注:正常Dart/Flutter项目运行到Android模拟器的耗时最多不超过10分钟,等待数小时无响应必然是某个环节卡死,无需继续无意义等待

常见触发原因

  • 模拟器配置异常:未开启硬件加速(Intel HAXM/AMD虚拟化),分配的CPU、内存资源不足,或者系统镜像文件损坏,导致模拟器本身无法正常加载运行产物
  • 编译链配置错误:Flutter/Dart SDK版本与项目依赖不兼容,Android Build Tools版本不匹配,项目存在未解决的依赖冲突,导致编译过程直接卡死
  • 调试通信异常:ADB调试桥、Dart调试服务默认使用的5037、8080等端口被其他进程占用,IDE、编译服务、模拟器三者之间无法正常通信
  • 项目本身问题:代码存在死循环、异常初始化逻辑,或者首次运行需要拉取的远端资源无法访问,导致启动过程卡在初始环节

分步排查方案

  • 验证模拟器可用性
    单独启动Android模拟器,不运行Dart代码,检查能否正常进入系统桌面、操作无明显卡顿。如果模拟器本身运行异常,先调整配置:分配至少2核CPU、4G运行内存,开启硬件加速,配置无误仍卡顿的话删除原有镜像,重新下载创建新的模拟器镜像。
  • 检查编译环境配置
    终端执行flutter doctor(Flutter项目)或dart --version(纯Dart Android项目),确认环境依赖无报错。再手动执行编译命令,Flutter项目运行flutter build apk --debug,看编译过程是否输出报错、能否正常生成编译产物,排除SDK不兼容、依赖冲突问题。
  • 排查调试通信问题
    执行adb devices确认模拟器被ADB正常识别,识别失败的话依次执行adb kill-server、adb start-server重启ADB服务。检查5037、8080等常用调试端口是否被其他进程占用,占用的话结束对应进程,或者修改IDE的调试端口配置。
  • 定位项目层面问题
    新建空的Dart/Flutter示例项目,运行到当前模拟器上,如果示例项目可正常运行,说明原有项目存在代码或配置问题,逐行排查项目初始化逻辑、第三方依赖引入即可。

内容的提问来源于stack exchange,提问作者abhaysing patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:48:04