
Android Studio 运行应用时卡在“Waiting for all target devices to come online”或“Terminating App”,虽 Gradle 构建成功但安装失败——根本原因常是系统级 adb 冲突,尤其是通过 Homebrew 安装的独立 android-platform-tools 干扰了 Android Studio 自带 SDK 的调试桥。
android studio 运行应用时卡在“waiting for all target devices to come online”或“terminating app”,虽 gradle 构建成功但安装失败——根本原因常是系统级 `adb` 冲突,尤其是通过 homebrew 安装的独立 `android-platform-tools` 干扰了 android studio 自带 sdk 的调试桥。
这个问题在 macOS 系统中尤为典型:当你通过 brew install android-platform-tools 安装了全局 adb,它会覆盖或抢占 Android Studio 内置 SDK 中的 adb(位于 ~/Library/Android/sdk/platform-tools/adb),导致设备通信异常——即使模拟器正常启动,Studio 也无法可靠识别、授权或安装 APK,从而陷入“等待设备上线→超时→终止→重试”的死循环。
✅ 核心解决方案(推荐优先尝试)
卸载由 Homebrew 管理的冲突 adb,强制 Android Studio 使用其 SDK 自带、版本匹配且经签名验证的 adb:
# 检查是否通过 brew 安装了 android-platform-tools brew list | grep android-platform-tools # 若存在,立即卸载(安全无副作用) brew uninstall android-platform-tools
执行后重启 Android Studio(必须重启),再运行应用。90% 以上同类案例可立即解决。
? 补充验证与排查步骤
- ✅ 确认当前
adb来源:终端执行which adb,应返回~/Library/Android/sdk/platform-tools/adb(macOS)或%LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe(Windows)。若指向/opt/homebrew/bin/adb或/usr/local/bin/adb,即为冲突源。 - ✅ 检查
adb版本一致性:运行adb version,输出应与 Android Studio → SDK Manager → SDK Platform-Tools 显示的版本一致(如34.0.5)。不一致极易引发 handshake timeout。 - ✅ 清理残留连接:执行
adb kill-server && adb start-server,再在 Studio 中点击 File → Invalidate Caches and Restart → Just Restart。
⚠️ 重要注意事项
- 不要手动替换或软链接
adb—— Android Studio 对adb的签名、权限及协议版本高度敏感; - 避免同时启用多个 ADB 实例(如 VS Code 的 Flutter 插件、终端后台
adb logcat); - 若使用物理设备,请确保已开启 USB 调试 + 已授权该电脑(首次连接弹窗需确认);
- 模拟器用户建议选用 Android Studio 自带的 AVD(而非第三方模拟器),并确保系统镜像为 “Google APIs” 或 “Google Play” 类型(含 GMS 支持更稳定)。
? 总结
“无限启动卡顿”表象背后,本质是调试通道被劫持。卸载外部 adb 是最轻量、最安全、最高效的破局点。它不修改项目配置、不重装 SDK、不重刷系统,仅恢复 Android Studio 对调试生命周期的完整控制权——这正是专业移动开发环境稳定性的底层基石。

















