Flutter Android 无线调试No supported devices connected

Flutter Android 无线调试故障处理

场景

Android Studio 可以识别无线调试手机,但命令行执行flutter runflutter devices时提示:

No supported devices connected

或者手机显示为:

unsupported • Android null (API null) (unsupported) adb.exe: device 'adb-xxxx' not found

原因

无线调试通过 mDNS 暴露设备时,ADB 可能显示类似这样的 serial:

adb-AKJEVB5920011350-n1wAVi (2)._adb-tls-connect._tcp

Flutter 命令行有时会把这个 mDNS serial 截断成adb-AKJEVB5920011350-n1wAVi,然后再调用adb -s读取设备属性,于是 ADB 找不到这个设备。Android Studio 能识别,不代表 Flutter CLI 一定能正确解析这个 mDNS 名称。

固定处理流程

先查看 ADB 发现的无线调试服务:

adb mdns services

找到输出里的真实ip:port,例如:

adb-xxxxx _adb-tls-connect._tcp 192.168.0.192:45541

ip:port手动连接:

adb connect 192.168.0.192:45541

确认 Flutter 已识别为 Android 设备:

flutter devices

正常时应看到类似:

BKQ AN00 (mobile) • 192.168.0.192:45541 • android-arm64 • Android 16 (API 36)

运行时显式指定这个设备:

flutter run-d 192.168.0.192:45541

注意事项

无线调试端口可能每次重连都会变化。下次再次出现No supported devices connected时,不需要改项目代码,重复:

adb mdns services adb connect <ip:port> flutter run-d <ip:port>

如果存在同一台手机的两个连接,一个是 mDNS 名称,一个是ip:port,优先使用ip:port

本机示例

曾遇到的设备:

BKQ AN00 mDNS serial: adb-AKJEVB5920011350-n1wAVi (2)._adb-tls-connect._tcp ip:port: 192.168.0.192:45541