同事的之前是用Mac本开发的,后来换成了小米的本,发现无法用真机和模拟器调试,执行adb devices
命令后直接卡死。网上搜索很多,多是说端口被占用的问题,但是试了好多次,发现端口没有被占用。当时也没有细想,后来冷静下来发现还是得从原理上来寻找问题的根源,于是一大早就把谷歌官网关于adb的文档重新看了下,原来只是使用,并没有深入的去理解原理。adb分为服务端和客户端,端口一般是5037,连接不上的问题实际上网络连接的问题。第一个想到的是防火墙,结果发现不是,后来觉得是不是代理软件的问题,于是就把代理软件关闭了,发现也没有解决问题。后来搜索发现了这篇文章如何解决adb卡死,命令不返回的问题,于是从微软官网下载了Process Explorer,发现果然是代理软件的问题,虽然之前虽然有关闭代理软件,因为adb连接的时候会默认加入代理,因为代理无法连接,所有adb的连接就一直不响应。
其实过去几年因为代理而产生的问题也是不少,但每次的还是会中招。另外发现现在的网络确实很厉害,很多问题只要一搜索大都能解决问题,而面对的这个问题的时候,我也陷入了这样的思维,不停的搜索,完全丧失了自己思考的能力。实际上当一个问题搜索很多遍后,依旧没有解,那么多半是一些只有在自己电脑上遇到的特殊问题。
Process Explorer,这个软件真的非常棒,主要还是免费提供的,直接从微软官网下载,我第一次从其他地方下载,没有发现问题而且显示患有问题,应该是一个老版本,后来从官网下载的就没有问题。因为一直使用Mac对于Win的使用经验还是停留在很多年前,发现要深度玩转Win。Sysinternals 套件真是宝藏库。