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

如何固定Flutter Android调试端口?防火墙环境下端口配置需求

固定Flutter Android调试端口及HTTPS检查端口方案

核心参数区别

先明确你提到的两个端口参数的差异:

  • --host-vmservice-port:本地主机(运行IDE/Flutter工具的电脑)上监听的端口,用于接收设备/模拟器的调试数据
  • --device-vmservice-port:设备/模拟器内部,Flutter应用自身监听的调试端口,主机通过这个端口与应用建立连接

你之前仅在flutter attach中配置--host-vmservice-port无效,是因为端口在应用启动阶段就已分配,attach是后续连接动作,无法修改启动时的端口配置。

固定Flutter调试端口(应用启动阶段配置)

方式1:命令行启动

直接在启动应用时同时指定两个端口(建议设为同一值,简化防火墙规则):

flutter run --host-vmservice-port=50300 --device-vmservice-port=50300

选一个未被系统占用的端口即可,比如示例中的50300。

方式2:Android Studio启动配置

  1. 打开Run/Debug Configurations(右上角运行按钮旁的下拉菜单 → Edit Configurations)
  2. 选中你的Flutter项目配置
  3. 在Additional run args输入框中添加:
--host-vmservice-port=50300 --device-vmservice-port=50300
  1. 保存配置后启动应用,端口就会固定为你指定的值。

固定HTTPS检查工具端口

Flutter的HTTPS检查工具(如DevTools网络 inspector)默认使用随机端口,可通过环境变量固定:

临时生效(当前终端)

在启动Flutter命令前先设置环境变量:

# Linux/macOS
export FLUTTER_DEVTOOLS_PORT=50301

# Windows(PowerShell)
$env:FLUTTER_DEVTOOLS_PORT=50301

之后再运行flutter run或启动DevTools,工具就会使用指定端口。

永久生效

  • Linux/macOS:将export FLUTTER_DEVTOOLS_PORT=50301添加到~/.bashrc或~/.zshrc文件中,重启终端生效
  • Windows:在系统环境变量中新增变量FLUTTER_DEVTOOLS_PORT,值设为指定端口(如50301),重启IDE生效

防火墙配置注意事项

  • 放行你指定的所有端口(如50300、50301),允许双向通信
  • Android模拟器默认通过10.0.2.2映射到主机,确保防火墙允许该地址的端口访问
  • 若使用物理设备,需保证设备与主机在同一网络,且端口规则覆盖设备IP范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:48:20