导流一波自己博客:https://alanslab.today/jie-ju...

最近老是遇到 adb 不定时断开,再连接出现 adb no devices/emulators found 的问题。

网上很多说法,基本都是在扯淡,瞎猫碰死耗子:

  • 换线:有些线是只能充电的
  • 换 usb 扩展口:劣质扩展口供电不稳啦什么的
  • 重启手机/电脑、多拔插几次、甚至刷机、unlock bootloader:之所以偶尔有效本质都一样,就是让你多次拔插重试,多试几次后就会有几率成功抢占设备访问权

如果你是一直用着同样的线,同样的设备,同一个 usb 口,但一会行一会不行,八成是遇到我这种情况了,可以接着往下看。

在 Mac 下我们通过 Console(控制台) 可以看到系统日志,关注一下刚插上手机时的一段内容:

-w1001

从日志输出可以看出 Android File Transfer 也无法连接到 IN2020(我的 OnePlus Pro 8 的型号):

241378.161008 Android File Tra@(null): AppleUSBHostUserClient::openGated: could not open provider IN2020. provider already opened for exclusive access by Google Chrome

原因是 IN2020 这个 provider(不知道是哪个领域的概念……)已经被 Google Chrome 以 exclusive(排他、唯一)access 的方式打开了,adb 无法连接也是同理。

经排查,我关闭了 Chrome inspect 页面后即可正常使用 adb,在 inspect 中关闭“Discover USB devices” 也可以解决这个问题,看自己需求我暂时用不着这个功能就关闭了,这样即使开着 inspect 也不会出现该问题:

-w472

完事


AlanZhang
2.5k 声望55 粉丝

有趣一点