Flutter报错Lost connection to device及服务协议连接问题求助
Flutter模拟器连接失败:Lost connection to device / Error connecting to service protocol
模拟器始终无法连接,报错为Lost connection to device或Error connecting to service protocol,已困扰数月,不清楚成因及解决办法。
错误日志
Launching lib\main.dart on AOSP on IA Emulator in debug mode... Warning: This version only understands SDK XML versions up to 2 but an SDK XML file of version 3 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times. Warning: unexpected element (uri:"", local:"base-extension"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level> √ Built build\app\outputs\flutter-apk\app-debug.apk. W/FlutterActivityAndFragmentDelegate( 5440): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps. D/FlutterLocationService( 5440): Creating service. D/FlutterLocationService( 5440): Binding to location service. Lost connection to device.
已完成检查
- 设备/模拟器内存充足
- 执行
flutter doctor -v未检测到异常
针对性解决步骤
1. 修复Android SDK工具版本不兼容问题
日志中SDK XML版本不兼容警告,是Android Studio与命令行工具版本不匹配导致:
- 打开Android Studio的SDK Manager,切换到SDK Tools标签
- 勾选Show Package Details,确保Android SDK Build Tools、Platform-Tools、Command-line Tools的版本统一,优先选择最新稳定版
- 卸载旧版本的Command-line Tools,仅保留最新版本
- 重启Android Studio和模拟器
2. 处理base-extension配置异常
该警告源于SDK配置文件损坏,修复步骤:
- 定位到Android SDK安装目录下的
platforms文件夹(Windows路径通常为C:\Users\<用户名>\AppData\Local\Android\Sdk\platforms,Mac/Linux为~/Android/Sdk/platforms) - 进入出现警告的对应SDK版本文件夹,删除其中的
package.xml文件 - 回到SDK Manager,重新下载该版本的SDK Platform,自动生成正确配置文件
3. 迁移废弃的启动屏配置
虽然该警告不直接导致连接失败,但修复可排除潜在干扰:
- 移除项目中旧的启动屏配置(如
AndroidManifest.xml中的相关meta-data项、旧的drawable启动资源) - 使用Flutter官方推荐的方式配置启动屏(如原生Android的SplashScreen API或第三方插件)
4. 解决模拟器连接丢失问题
针对Lost connection to device报错,尝试以下操作:
- 通过AVD Manager选中对应模拟器,点击Wipe Data清除数据后重启模拟器
- 命令行执行
adb kill-server,再执行adb start-server重启ADB服务 - 检查模拟器网络设置,验证能否访问本地主机(可在模拟器浏览器中打开
http://10.0.2.2) - 尝试使用更低API级别的模拟器(如Android 11/12稳定版),部分高版本模拟器存在兼容性问题
- 临时关闭电脑防火墙或安全软件,排除连接拦截可能
内容的提问来源于stack exchange,提问作者Praveesh Ramroop
相关产品推荐
相关产品推荐

