破解Android设备无法联调的谜题
这篇文章要感谢来自知乎的小伙伴:子非鱼,他最近被一件事情困惑,那就是:Android手机无法联调了。在解决完他的疑问后,突然意识到,其实自己在前一段时间也曾遇到同样的问题,最后居然还怀疑是电脑和手机不兼容导致的。然而,罪魁祸首居然是数据线。
好了,下面我们来看一下具体情况吧。
我们都在使用苹果公司的Mac OS,手机都是小米。子非鱼同学使用的是红米Note3,我使用的是小米9SE。现象一样,都是插上电脑后无法联调,使用
adb devices
命令,显示无设备连接,但此时,手机显示是正在充电的。
下图借用子非鱼同学的命令行截图说明:
我们二人一开始的解决思路都是怀疑是不是电脑配置有问题。据子非鱼的描述,他进行了两次尝试:
- 删除25.X版本adb,下载29.x版本adb;
- 进程里kill adb进程和所有5037端口。
均不奏效。
我当初的做法则是打开模拟器试试,结果似乎adb很正常,于是更加迷茫,不知道哪里出了问题。
某天下班回家,发现一直在用的数据线不知道哪里去了,于是换了一根,结果居然可以连上了。得到结论,原来是数据线惹的祸。
接下来问题就来了:一条小小的数据线,既然可以充电,为什么做不了数据交换呢?
经过搜索才发现,原来还有“数据线”和“充电线”之分,区别主要在以下三各方面:
- 数据线在USB接口那跟线里有四条线,而电源线在USB那个线里有两条线;
- 充电线用到时电源的VCC和GND这两个线,而数据线是用到VCC,GND,和两个通信线;
- 充电线只能拿来给手机充电,数据线除了能给移动设备充电外,还能用来于手机与电脑之间的数据传输,也就是说,数据线可以当充电线用,但充电线不一定能当数据线用。
此外,考虑到使用方便,很多人可能都购买过多合一的线材,比如下图这种:
为了获得稳定的连接,建议读者不要采用这类线材进行联调。当然,用来和充电宝搭配使用还是不错的。
好了,正文内容到此为止。希望读者在遇到类似问题的时候多个心眼,不要忽视一根小小的数据线,它可能也会把你搞到头大。
破解Android设备无法联调的谜题的更多相关文章
- chorme浏览器调试Android设备
Android设备开启开发者模式,并打开USB调试: 接着在Android设备上运行项目 在chrome浏览器打开F12: 在Remote devices里即可调试页面. ! 一般需要FQ
- 无线连接Android设备
有时设备处于低电,此时又需要进行设备与PC的数据传输,但是通过USB连接充电速度太慢.这时就可以通过无线进行传输数据,然后通过AC充电.一举两得. 前提: 1.在Android设备的开发者模式-打开U ...
- 制作bat脚本,抓取Android设备logcat
::bat制作抓取Android设备的logcat,并保存以时间命名的txt文件至设备目录 1 @ECHO off adb wait-for-device ECHO 正在连接设备 adb logcat ...
- 电脑控制Android设备的软件——Total Control
最早开始搞Android开发时,为了调试方便,想找一个Android下的远程控制软件,支持在电脑端远程控制和同步显示Android设备.先后试了360手机助手.Mobizen.Vysor和Mirror ...
- python Windows下的android设备截图工具
目录 界面版 命令行版 界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: #!/usr/bin ...
- Python写一个Windows下的android设备截图工具
界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: import wx,subprocess,o ...
- 非root Android设备上Tcpdump的实现
通常我们在Android应用中执行某个命令时会使用"Runtime.getRuntime().exec("命令路径")"这种方式,但是当我们执行抓包操作时,使用 ...
- 正确获得android设备的IP地址
网上此类获得android设备IP地址相关的文章有不少,有一篇是比较通用的,但有一个问题:有些设备默认的是IPv6的地址,那段代码获得的就是IPv6的地址.但这显然不是我们想要的,我们需要的是IPv4 ...
- 可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell.比较麻烦,本文为此编写了一个Shell脚本文件(需要在Li ...
随机推荐
- 查看mysql中的用户和密码
use mysql; select host,user,password from user; 设置密码 set password for root@localhost=password('root' ...
- [Algorithm] 面试题之犄角旮旯 第贰章
闲下来后,需要讲最近涉及到的算法全部整理一下,有个indice,方便记忆宫殿的查找 MIT的算法课,地球上最好: Design and Analysis of Algorithms 本篇需要重新整理, ...
- js控制滚动条在内容更新超出时自动滚到底部
//滚动条在内容更新时自动滚到底部var message = document.getElementById('message');message.scrollTop = message.scroll ...
- Windows server 2008 快速搭建域环境
之前根据网上的教程搭建,然后出现了很多问题,最后摸索出了一个比较稳妥一点的方法. 对于选系统这里,虽然上一篇文章已经说过了,这里也再强调一下,我使用的是08的系统,使用其他系统的暂不做评价,使用08系 ...
- Android Adapter的一些记录
一.摘要 An Adapter object acts as a bridge between an AdapterView and the underlying data for that view ...
- 远程桌面连接mstsc 超扎心
搞了一天问了几千个人.最后终于有一位大佬解决了.扎心啊. http://jingyan.baidu.com/article/39810a23edc48bb637fda672.html 就是服务没打开.
- [Next] 初见next.js
next 简介 Next.js 是一个轻量级的 React 服务端渲染应用框架 next 特点 默认情况下由服务器呈现 自动代码拆分可加快页面加载速度 简单的客户端路由(基于页面) 基于 Webpac ...
- Ocelot自定义管道中间件
Ocelot是啥就不介绍了哈,网关大家都知道,如果大家看过源码会发现其核心就是由一个个的管道中间件组成的,当然这也是Net Core的亮点之一.一个请求到来,会按照中间件的注册顺序进行处理,今天的问题 ...
- sort,uniq,wc,tr
sort (选项)(参数) sort是用来排序数据的. 以下面这个文本为例 [root@bogon ~]# cat a 123 4567 88 abc aaa AAA jk 777 777 ...
- 【IE低配杀手】html5shiv.js和respond.min.js
HTML5现在越来越流行了,但是一遇到IE低版本浏览器就傻眼了,今天整理了一下一些解决办法. html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题. res ...