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

连接物理设备时Flutter Daemon无法运行的问题求助

Flutter USB物理设备无法运行问题(Mac + VS Code)

问题现象

在Mac上使用VS Code开发Flutter,USB连接物理设备后无法运行应用,提示:

No devices found yet. Checking for wireless devices...
Unable to run "adb", check your Android SDK installation and ANDROID_SDK_ROOT environment variable: /usr/local/Caskroom/android-platform-tools/34.0.4/platform-tools/adb
Exited (1)

flutter doctor 输出

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.4.1 22F82 darwin-x64, locale en-US)
[✗] Android toolchain - develop for Android devices
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.80.0)
Error 1 retrieving device properties for RMX3195:
* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /var/folders/33/xy68224j33l6d4tygq1bvh200000gn/T//adb.501.log
Server had pid: 47534
--- adb starting (pid 47534) ---
07-12 19:49:11.977 47534 364459 I adb     : main.cpp:63 Android Debug Bridge version 1.0.41
07-12 19:49:11.977 47534 364459 I adb     : main.cpp:63 Version 34.0.4-10411341
07-12 19:49:11.977 47534 364459 I adb     : main.cpp:63 Installed as /usr/local/Caskroom/android-platform-tools/34.0.4/platform-tools/adb
07-12 19:49:11.977 47534 364459 I adb     : main.cpp:63 Running on Darwin 22.5.0 (x86_64)
07-12 19:49:11.977 47534 364459 I adb     : main.cpp:63 
07-12 19:49:11.985 47534 364462 I adb     : usb_osx.cpp:325 reported max packet size for SSU84HHQPVF6OBIF is 512
07-12 19:49:12.081 47534 364459 I adb     : auth.cpp:416 adb_auth_init...
07-12 19:49:12.082 47534 364459 I adb     : auth.cpp:152 loaded new key from '/Users/nyuad/.android/adbkey' with fingerprint
839D1793C3734032E863AEFE1FEDF262A3F10481D230C363B1E1C26971F29F79
07-12 19:49:12.082 47534 364465 I adb     : transport.cpp:335 SSU84HHQPVF6OBIF: read thread spawning
07-12 19:49:12.082 47534 364466 I adb     : transport.cpp:307 SSU84HHQPVF6OBIF: write thread spawning
07-12 19:49:12.082 47534 364467 I adb     : transport.cpp:335 emulator-5554: read thread spawning
07-12 19:49:12.082 47534 364468 I adb     : transport.cpp:307 emulator-5554: write thread spawning
07-12 19:49:12.085 47534 364459 I adb     : transport.cpp:1727 fetching keys for transport SSU84HHQPVF6OBIF
07-12 19:49:12.085 47534 364459 I adb     : auth.cpp:468 Calling send_auth_response
07-12 19:49:12.090 47534 364459 I adb     : adb.cpp:175 emulator-5554: already offline
07-12 19:49:12.094 47534 364459 I adb     : adb.cpp:179 SSU84HHQPVF6OBIF: offline

* failed to start daemon
adb: cannot connect to daemon


Error 1 retrieving device properties for sdk gphone64 x86 64:
* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /var/folders/33/xy68224j33l6d4tygq1bvh200000gn/T//adb.501.log
Server had pid: 47536
--- adb starting (pid 47536) ---
07-12 19:49:13.283 47536 364475 I adb     : main.cpp:63 Android Debug Bridge version 1.0.41
07-12 19:49:13.283 47536 364475 I adb     : main.cpp:63 Version 34.0.4-10411341
07-12 19:49:13.283 47536 364475 I adb     : main.cpp:63 Installed as /usr/local/Caskroom/android-platform-tools/34.0.4/platform-tools/adb
07-12 19:49:13.283 47536 364475 I adb     : main.cpp:63 Running on Darwin 22.5.0 (x86_64)
07-12 19:49:13.283 47536 364475 I adb     : main.cpp:63 
07-12 19:49:13.303 47536 364479 I adb     : usb_osx.cpp:325 reported max packet size for SSU84HHQPVF6OBIF is 512
07-12 19:49:13.389 47536 364475 I adb     : auth.cpp:416 adb_auth_init...
07-12 19:49:13.389 47536 364475 I adb     : auth.cpp:152 loaded new key from '/Users/nyuad/.android/adbkey' with fingerprint
839D1793C3734032E863AEFE1FEDF262A3F10481D230C363B1E1C26971F29F79
07-12 19:49:13.390 47536 364483 I adb     : transport.cpp:335 SSU84HHQPVF6OBIF: read thread spawning
07-12 19:49:13.390 47536 364484 I adb     : transport.cpp:307 SSU84HHQPVF6OBIF: write thread spawning
07-12 19:49:13.390 47536 364485 I adb     : transport.cpp:335 emulator-5554: read thread spawning
07-12 19:49:13.390 47536 364486 I adb     : transport.cpp:307 emulator-5554: write thread spawning
07-12 19:49:13.391 47536 364475 I adb     : transport.cpp:1727 fetching keys for transport SSU84HHQPVF6OBIF
07-12 19:49:13.391 47536 364475 I adb     : auth.cpp:468 Calling send_auth_response
07-12 19:49:13.397 47536 364475 I adb     : adb.cpp:175 emulator-5554: already offline
07-12 19:49:13.399 47536 364475 I adb     : adb.cpp:179 SSU84HHQPVF6OBIF: offline

* failed to start daemon
adb: cannot connect to daemon


[✓] Connected device (5 available)
[✓] Network resources

! Doctor found issues in 1 category.

用户补充

已在Mac系统路径中添加SDK路径,但问题依旧。


解决步骤

1. 修复缺失的cmdline-tools组件

flutter doctor明确提示缺少cmdline-tools,这是ADB正常工作的必要组件:

  • 打开Android Studio,进入Settings > Appearance & Behavior > System Settings > Android SDK
  • 切换到SDK Tools标签,勾选Android SDK Command-line Tools (latest)
  • 点击Apply开始安装,安装完成后重启终端和VS Code

2. 重置ADB服务

ADB启动失败是核心问题,执行以下命令重置:

# 杀死所有ADB进程
killall adb
# 重启ADB服务
adb start-server

执行后检查ADB状态:

adb devices

如果设备显示offline,在手机上授权电脑的调试请求即可。

3. 验证环境变量配置

确保ANDROID_SDK_ROOT和PATH配置正确:

  • 打开终端,编辑shell配置文件(zsh用~/.zshrc,bash用~/.bash_profile):
open -e ~/.zshrc
  • 添加以下内容(替换为你的Android SDK实际路径,可在Android Studio的SDK设置中查看):
export ANDROID_SDK_ROOT=/Users/你的用户名/Library/Android/sdk
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
  • 保存后刷新配置:
source ~/.zshrc
  • 验证配置:
echo $ANDROID_SDK_ROOT
adb --version

4. 检查USB连接和设备设置

  • 确保手机开启了USB调试和USB安装权限
  • 尝试更换USB线(优先用原厂线),切换USB连接模式为文件传输或PTP
  • 在Mac的系统设置 > 隐私与安全性中,确认已授权Android调试的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:51:59