这篇文章要感谢来自知乎的小伙伴:子非鱼,他最近被一件事情困惑,那就是: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. 充电线只能拿来给手机充电,数据线除了能给移动设备充电外,还能用来于手机与电脑之间的数据传输,也就是说,数据线可以当充电线用,但充电线不一定能当数据线用。

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

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

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

破解Android设备无法联调的谜题的更多相关文章

  1. chorme浏览器调试Android设备

    Android设备开启开发者模式,并打开USB调试: 接着在Android设备上运行项目 在chrome浏览器打开F12: 在Remote devices里即可调试页面. ! 一般需要FQ

  2. 无线连接Android设备

    有时设备处于低电,此时又需要进行设备与PC的数据传输,但是通过USB连接充电速度太慢.这时就可以通过无线进行传输数据,然后通过AC充电.一举两得. 前提: 1.在Android设备的开发者模式-打开U ...

  3. 制作bat脚本,抓取Android设备logcat

    ::bat制作抓取Android设备的logcat,并保存以时间命名的txt文件至设备目录 1 @ECHO off adb wait-for-device ECHO 正在连接设备 adb logcat ...

  4. 电脑控制Android设备的软件——Total Control

    最早开始搞Android开发时,为了调试方便,想找一个Android下的远程控制软件,支持在电脑端远程控制和同步显示Android设备.先后试了360手机助手.Mobizen.Vysor和Mirror ...

  5. python Windows下的android设备截图工具

    目录 界面版 命令行版 界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: #!/usr/bin ...

  6. Python写一个Windows下的android设备截图工具

    界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: import wx,subprocess,o ...

  7. 非root Android设备上Tcpdump的实现

    通常我们在Android应用中执行某个命令时会使用"Runtime.getRuntime().exec("命令路径")"这种方式,但是当我们执行抓包操作时,使用 ...

  8. 正确获得android设备的IP地址

    网上此类获得android设备IP地址相关的文章有不少,有一篇是比较通用的,但有一个问题:有些设备默认的是IPv6的地址,那段代码获得的就是IPv6的地址.但这显然不是我们想要的,我们需要的是IPv4 ...

  9. 可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本

    如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell.比较麻烦,本文为此编写了一个Shell脚本文件(需要在Li ...

随机推荐

  1. [Linux] telnet 具体到某个端口Connection refused

    可以参考这个链接:https://q.cnblogs.com/q/106337/

  2. Spring框架学习笔记(2)——面向切面编程AOP

    介绍 概念 面向切面编程AOP与面向对象编程OOP有所不同,AOP不是对OOP的替换,而是对OOP的一种补充,AOP增强了OOP. 假设我们有几个业务代码,都调用了某个方法,按照OOP的思想,我们就会 ...

  3. demo演示如何写一个无配置格式统一的日志

    一.背景 大量项目在使用logback记日志,有部分项目使用日志混乱,格式不统一,多数人搞不懂配置文件,导致配置错误,现在需要开发一套统一的.少配置的日志组件,方便使用. 二.设计思路 尽量采用0配置 ...

  4. spring5 源码深度解析-----ApplicationContext容器refresh过程

    在之前的博文中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析,但是Spring中还提供了另一个接口ApplicationContext,用于扩展Bean ...

  5. Splitting into digits CodeForce#1104A

    题目链接:Splitting into digits 题目原文 Vasya has his favourite number 

  6. java-newInstance()和new()

    public <T> T genericMethod(Class<T> tClass)throws InstantiationException , IllegalAccess ...

  7. Spring Data JPA 梳理 - JPA是什么

    总结: JPA是java的标准,不是Spring的标准 java标准中一般通过Meta-INF文件规范开发层面的事情,JPA也不例外,使用persistence.xml JPA定义了Entity 到 ...

  8. markdown常用语法使用笔记

    markdown是当下比较流行的一种编辑标记语言,很多系统都支持markdown语法来编辑文件内容,像gitbook之类的,一下是一些学习笔记. 1.开头用#的数量表示1-6阶的标题,结尾可以以任意数 ...

  9. .Net Core 商城微服务项目系列(十):使用SkyWalking构建调用链监控(2019-02-13 13:25)

    SkyWalking的安装和简单使用已经在前面一篇介绍过了,本篇我们将在商城中添加SkyWalking构建调用链监控. 顺带一下怎么把ES设置为Windows服务,cd到ES的bin文件夹,运行ela ...

  10. 一个网站完整的SEO优化方案,方法,怎么做seo优化?

    SEO优化主要分为站内优化,站外优化.如果非得说一套完整的SEO优化方案,那就是需要4名专业人员:前端人员,内容编辑,网络推广人员,和数据分析人员.那以下就详细介绍这四个岗位各自负责的工作有哪些: 一 ...