破解Android设备无法联调的谜题

这篇文章要感谢来自知乎的小伙伴:子非鱼,他最近被一件事情困惑,那就是:Android手机无法联调了。在解决完他的疑问后,突然意识到,其实自己在前一段时间也曾遇到同样的问题,最后居然还怀疑是电脑和手机不兼容导致的。然而,罪魁祸首居然是数据线。

好了,下面我们来看一下具体情况吧。

我们都在使用苹果公司的Mac OS,手机都是小米。子非鱼同学使用的是红米Note3,我使用的是小米9SE。现象一样,都是插上电脑后无法联调,使用

adb devices

命令,显示无设备连接,但此时,手机显示是正在充电的。

下图借用子非鱼同学的命令行截图说明:

我们二人一开始的解决思路都是怀疑是不是电脑配置有问题。据子非鱼的描述,他进行了两次尝试:

  1. 删除25.X版本adb,下载29.x版本adb;
  2. 进程里kill adb进程和所有5037端口。

均不奏效。

我当初的做法则是打开模拟器试试,结果似乎adb很正常,于是更加迷茫,不知道哪里出了问题。

某天下班回家,发现一直在用的数据线不知道哪里去了,于是换了一根,结果居然可以连上了。得到结论,原来是数据线惹的祸。

接下来问题就来了:一条小小的数据线,既然可以充电,为什么做不了数据交换呢?

经过搜索才发现,原来还有“数据线”和“充电线”之分,区别主要在以下三各方面:

  1. 数据线在USB接口那跟线里有四条线,而电源线在USB那个线里有两条线;
  2. 充电线用到时电源的VCC和GND这两个线,而数据线是用到VCC,GND,和两个通信线;
  3. 充电线只能拿来给手机充电,数据线除了能给移动设备充电外,还能用来于手机与电脑之间的数据传输,也就是说,数据线可以当充电线用,但充电线不一定能当数据线用。

此外,考虑到使用方便,很多人可能都购买过多合一的线材,比如下图这种:

为了获得稳定的连接,建议读者不要采用这类线材进行联调。当然,用来和充电宝搭配使用还是不错的。

好了,正文内容到此为止。希望读者在遇到类似问题的时候多个心眼,不要忽视一根小小的数据线,它可能也会把你搞到头大。

 

posted @ 2019-10-29 18:59  萧文翰  阅读(287)  评论(0编辑  收藏  举报