flutter run未显示flutter devices识别的Android模拟器设备问题
问题产生原因
- 当前Flutter项目缺失Android平台构建配置:全新安装环境下如果项目初始化流程异常,根目录没有
android子文件夹,flutter run枚举当前项目支持的运行设备时,会自动过滤Android类设备,这和全局flutter devices能扫到模拟器不冲突——前者是按当前项目支持的平台筛选,后者是扫描全量已连接设备。 - Android SDK许可未完成确认:全新安装的Android SDK如果没走完许可同意流程,虽然ADB能识别到连接的模拟器,但Flutter判定当前环境不具备Android构建能力,会把Android设备从运行可选列表里剔除。
- 终端会话设备缓存未刷新:如果启动终端、准备执行
flutter run之后才打开Android模拟器,当前终端里的Flutter进程不会实时刷新设备列表,就会漏掉刚启动的模拟器。 - Android SDK路径配置错误:Flutter全局配置里填写的Android SDK路径和Android Studio实际使用的SDK路径不一致,会导致构建校验失败,过滤Android设备。
可行解决方法
按操作成本从低到高依次尝试:
- 补全项目平台配置
进入项目根目录,执行flutter create .,命令会自动补全所有缺失的平台构建目录、Gradle配置等文件,等待依赖拉取完成即可。 - 确认Android SDK许可
执行flutter doctor --android-licenses,所有弹出的许可提示都输入y确认同意,完成后执行flutter doctor,确认Android工具链项无红色报错。 - 跳过设备选择直接指定目标启动
先执行flutter devices确认模拟器ID(当前环境下的模拟器ID是emulator-5554),直接执行flutter run -d emulator-5554即可绕过交互选单直接在模拟器上启动,不需要等设备列表展示。 - 校正Android SDK路径
打开Android Studio的SDK Manager查看本地SDK实际存储路径,执行flutter config --android-sdk 替换成本地SDK的实际路径,配置完成后关闭当前终端重新打开再测试。 - 冷启动模拟器排除连接异常
关闭当前运行的模拟器,在Android Studio的设备管理器里对对应模拟器执行Cold Boot Now冷启动操作,等模拟器完全加载到系统桌面后,再回到终端执行flutter run。
如果以上操作都无效,先执行
flutter clean清理项目构建缓存,再执行flutter pub get拉取完依赖后重试即可。
内容的提问来源于stack exchange,提问作者androidorb424
相关产品推荐
相关产品推荐

