Chrome 远程调试 Android 卡在 Pending authentication 的解决办法

问题现象

今天在用 Chrome 连接 Android 手机调试移动端页面时,打开 chrome://inspect 页面,始终看不到已连接的设备

页面一直显示:

Pending authentication: please accept debugging session on the device.

意思是「等待认证:请在设备上接受调试会话」。但手机上并没有弹出授权提示,或者即使反复插拔、重启,问题依旧。

排查过程

我先后尝试了这些常见做法,都没有解决:

  • 在手机上反复开关「开发者选项」和「USB 调试」
  • 更换 USB 数据线、换 USB 口
  • 重启 Chrome、重启手机、重启电脑
  • chrome://inspect 里勾选 Discover USB devices

设备连接状态看起来正常,但 Chrome 就是卡在 Pending authentication,无法进入远程调试。

最终有效的解决办法

最后通过重置 ADB 密钥 + 使用官方 platform-tools 重启 ADB 服务解决了问题。完整步骤如下。

1. 找到 .android 目录

  • macOS / Linux/Users/<username>/.android
  • WindowsC:\Users\<username>\.android

2. 删除 ADB 密钥文件

进入上述目录,删除这两个文件:

  • adbkey
  • adbkey.pub

这两个文件是 ADB 与设备配对时生成的 RSA 密钥。当密钥与设备侧记录不一致、或配对状态损坏时,就容易出现「一直 Pending authentication、手机却不弹授权框」的情况。删除后,下次连接 ADB 会重新生成密钥并触发授权。

删除前如果目录里还有其他重要配置,可以先备份整个 .android 文件夹。

3. 下载官方 platform-tools

从 Google 官方下载最新版 platform-tools:

4. 解压并放到固定路径

以 Windows 为例:将下载的 zip 解压,得到 platform-tools 文件夹,放到 C:\ 根目录下,即 C:\platform-tools

macOS / Linux 可以放到任意目录,例如 ~/platform-tools,只要后续命令能进入该目录即可。

5. 重启 ADB 服务

打开终端,进入 platform-tools 目录 (该目录下才有 adb 命令),依次执行:

bash 复制代码
adb kill-server
adb start-server

Windows PowerShell 示例:

powershell 复制代码
cd C:\platform-tools
.\adb kill-server
.\adb start-server

macOS / Linux 示例:

bash 复制代码
cd ~/platform-tools
./adb kill-server
./adb start-server

执行 adb start-server 后,如果密钥已重置,手机通常会弹出「允许 USB 调试吗?」的 RSA 指纹授权框,务必勾选「始终允许」并点确定

6. 重新连接手机

  • 用 USB 线连接电脑和手机
  • 手机上开启「开发者选项」→「USB 调试」
  • USB 连接模式选择「传文件 / 文件传输(MTP)」,不要选「仅充电」

仅充电模式下,ADB 往往无法正常通信,Chrome 也就发现不了设备。

7. 回到 Chrome 验证

再次打开 chrome://inspect/#devices,稍等几秒,应该能看到设备和可调试的 WebView / 浏览器标签页。

为什么这样能解决?

简要归纳一下原因:

环节 说明
ADB 密钥损坏或不一致 删除 adbkey / adbkey.pub 强制重新配对
系统自带的 adb 版本过旧 使用 Google 官方 platform-tools 保证兼容性
ADB 进程状态异常 kill-server + start-server 干净重启服务
USB 模式不对 传文件模式才能建立 ADB 通道

小结

遇到 chrome://inspect 显示 Pending authentication: please accept debugging session on the device ,且常规排查无效时,可以按本文顺序操作:删密钥 → 官方 adb → 重启服务 → 传文件模式重连。我这边按这套流程走完后,设备立刻出现在 Chrome 远程调试列表里。

如果仍有问题,可以再检查:手机是否开启「USB 调试(安全设置)」、是否安装了冲突的第三方手机助手、以及 Windows 设备管理器里 Android 驱动是否正常。

相关推荐
杨运交1 小时前
[030][Web模块]Spring Boot 验证与 OpenAPI 集成实战:从校验规则到文档生成
前端·spring boot·python
天le1 小时前
基于cocos3.x复刻《猪了个猪》挪了个船:位置生成实现
前端
青木_JS1 小时前
qiankun 子应用重开后仍显示旧数据?问题出在模块顶层的 useStore()
前端
货拉拉技术1 小时前
面向 Agent Skill 的 CLI/SSO 鉴权体系:安全、无感、可追溯
前端·agent
ssshooter2 小时前
为什么父元素的高度不会包含子元素的 margin?
前端·javascript·面试
静Yu2 小时前
从一个九宫格素材小程序,看轻量工具产品该如何优化体验
前端·微信小程序
程序员黑豆2 小时前
AI全栈开发之Java:第一个Java程序
前端·后端·ai编程
小Q的编程笔记2 小时前
Pump.fun 的核心是什么?用 300 行 Solidity 实现 Bonding Curve 与自动 LP 销毁
前端·后端·智能合约
卷帘依旧2 小时前
React Fiber机制
前端