连接物理设备时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
相关产品推荐
相关产品推荐

