Flutter VM Service无法启动导致热重载失效问题求助
问题描述
在Arch Linux上开发Android真机应用时,热重载功能失效,核心原因是Dart VM Service无法启动。全新Flutter项目热重载正常,flutter doctor未检测到错误。flutter run -v输出关键错误:
I/flutter (24401): Could not start Dart VM service HTTP server: I/flutter (24401): SocketException: Failed to create server socket (OS Error: Connection refused, errno = 111), address = 127.0.0.1, port = 0
已尝试的操作:
- 关闭防火墙
- 在AndroidManifest.xml中添加
<uses-permission android:name="android.permission.INTERNET"/>权限 git reset回滚至项目初始提交- 执行
flutter clean、flutter pub get并重新运行项目
解决方案
强制指定VM Service端口:手动指定一个未被占用的端口启动项目,避免自动端口分配失败:
flutter run --vm-service-port 8086重置ADB端口转发:清除现有ADB转发规则后重新运行,或手动绑定端口:
# 清除所有转发 adb reverse --remove-all # 手动转发指定端口(对应上面的8086) adb reverse tcp:8086 tcp:8086禁用Impeller渲染后端:日志显示当前使用Impeller(Vulkan)渲染,可能存在兼容性问题,尝试禁用:
方式1:运行时添加参数flutter run --no-enable-impeller方式2:在AndroidManifest.xml的
<application>标签内添加配置<meta-data android:name="io.flutter.embedding.android.EnableImpeller" android:value="false" />检查设备网络限制:确认设备未开启VPN/代理,且应用的“后台网络权限”已启用(部分设备需手动开启)。
升级Flutter/Dart版本:运行以下命令升级至最新稳定版,修复潜在的版本兼容问题:
flutter upgrade
内容的提问来源于stack exchange,提问作者Yas
相关产品推荐
相关产品推荐

