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

“Service Protocol”错误导致Flutter应用无法在真机测试问题问询

问题产生原因
  • 旧版Android系统端口转发残留:API 23及更低版本的Android系统,ADB端口转发规则在Flutter调试进程异常退出时无法被自动清理,新旧转发规则冲突会导致服务协议连接失败。
  • 三星定制ROM调试服务缺陷:三星S5官方Android 6.0系统对Flutter依赖的Dart VM调试服务长连接支持存在适配问题,应用退出后调试服务不会完全销毁,会占用固定端口导致新启动的应用无法绑定调试端口。
  • 环境版本兼容问题:Android Studio 2020.3.1配套的ADB版本与MacOS Monterey的USB设备权限管理机制存在适配缺陷,USB连接复用场景下不会自动重置转发规则。
解决方案

临时快速修复(无需重启手机,10秒内完成)

  • 首先停止Android Studio中所有运行中的Flutter进程,手动结束设备上的目标应用后台进程
  • 执行端口转发清理命令:adb forward --remove-all
  • 执行ADB服务重置命令:adb kill-server && adb start-server
  • 重新拔插USB线,等待设备被Android Studio识别后再次运行应用即可。

次优修复(上述步骤无效时使用)

  • 进入设备的设置-开发者选项,点击「撤销USB调试授权」,再关闭并重新开启USB调试开关
  • 重新连接USB,在设备弹出的授权窗口中勾选「始终允许该计算机」,确认授权后再运行应用。

永久规避方案

  • 将Android Studio升级到2022.1及以上版本,配套的ADB版本已修复与MacOS Monterey的USB权限适配问题
  • 在Flutter运行配置的Additional arguments栏添加参数--host-vmservice-port 5678,指定固定的调试端口避免随机端口冲突
  • 不需要调试功能时,可添加--release参数运行release包,不会触发调试服务连接逻辑,从根源避免该报错。

内容的提问来源于stack exchange,提问作者Nerdy Bunz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:15:08