今天,吃过早饭后像往常一样打开了Android studio,连接上了我的手机。突然,发现手机不停地弹出调试授权的窗口,看了下终端,发现 adb 提示以下信息:
* daemon not running; starting now at tcp:5037
* daemon started successfully
Sending Tracking request failed!
Adb connection Error:Connection reset by peer
Cannot reach ADB server, attempting to reconnect.
以上信息循环往复地弹出,手机也无法正常连接到 Android studio,经过小半天的摸索,最终解决。当然,过程还是蛮崎岖的,网上各种方法尝试无果,从 csdn 到 简书 再到 StackoverFlow 和 medium,说真的,方法都是大同小异,来来回回就是那三四种:
- kill 掉 adb 服务后再重启
- 查看当前占用5037端口的进程,然后强制杀死
- 重启 Androidstudio 和电脑
以上方法都有尝试过,翻遍了各大论坛、博客和国内外站点,adb始终无法连接和重启,最终只能自己摸索了。
去找了一下 adb 的路径,发现它在 Android/sdk/platform-tools/ 目录下,抱着试一试的态度去 Android studio 中找到 System Settings 下的 Android SDK 界面,然后发现 Android SDK Platform-Tools 存在可升级的新版本,于是从 3.0.3 升级到了现在的 3.0.4 版本,adb 重新安装覆盖重启后就可以正常使用了:
当然,还有另外一种方法可以尝试,这是我修复好之后才发现的,可不可用目前尚无法复现,可自行尝试:Mac 系统下可以打开活动监视器,然后搜索adb,多等一会就可以看到adb的进程了,之前尝试过,可能是不够耐心,以至于没等到它被搜出来。找到adb后将其强制杀死,然后重启试试,不出意外的应该是可行的。
至于windows系统就不用多说了,也可以在任务管理器找到这个adb进程,同理操作即可。