最近老是遇到 adb 不定时断开,再连接出现 adb no devices/emulators found
的问题。
网上很多说法,基本都是在扯淡,瞎猫碰死耗子:
如果你是一直用着同样的线,同样的设备,同一个 usb 口,但一会行一会不行,八成是遇到我这种情况了,可以接着往下看。
在 Mac 下我们通过 Console(控制台) 可以看到系统日志,关注一下刚插上手机时的一段内容:
从日志输出可以看出 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 也不会出现该问题:
完事