移动测试新手指引--ADB连接设备

关注二维码

作为Android端的开发/测试新手而言,经常会遇到ADB连接识别不到的问题。
有的情况是新换一个手机识别不到,有的可能是第二天突然识别不到。
这里经过收集汇总整理了一下ADB连接不到设备的可能原因和解决方法。

ADB连接不到设备主要有以下几类情况:

  1. 设备驱动没有自动正确安装
  2. 数据线问题
  3. 手机设置问题
  4. ADB服务原因

设备驱动没有安装成功

这种情况一般在换了一个新手机会出现,特别是个别机型容易出现(比如三星);
一般在插上USB线之后都会提示你设备没有正常识别,这时就需要手动重新安装。通过驱动精灵或者官网下载驱动。

也可以使用一些网上的偏方来解决驱动问题(死马当活马医)

曾经遇到过原来正常的手机,突然有一天提示无法识别设备,但是检查驱动发现驱动已经正常安装最新版本,后来换了跟USB线就好了。

数据线问题

设备驱动能正常安装的情况下,通常插上USB线之后可以选择充电、文件传输、图片传输等模式。
如果没有自动出现选择弹框,则需要检查是否可以手动设置USB连接模式。
如果不支持手动设置,那么数据线可能只支持充电模式,需要换根可以支持文件传输的数据线。
数据线正常的情况下,设置为文件传输模式后,可以直接打开设备连接后的挂载目录并可以进行文件传输操作。

手机设置问题

在电脑和手机直接可以正常进行文件传输的前提下,如果ADB还是检测不到的话,那么就需要检查手机是否设置了开发者选项。
具体需要打开开发者选项,开启USB调试,部分新机型可能需要设置允许通过ADB安装应用,允许安装未知来源应用等选项。

ADB服务问题

上述情况都没有问题时,还是不能正常连接ADB,那可能就是ADB服务的问题了,具体有几种情况:

  1. ADB版本过低
  2. ADB版本错误(64位机器安装了32位的ADB)
  3. ADB Server假死(通过重启ADB Server)
  4. ADB Daemon假死(通过重启手机)
  5. 没有通过ADB授权(重新拔插后确认授权)

其它具体问题处理

提示offline

这种情况通常是ADB Server和ADB Daemon连接中断导致的;比如:手机USB连接后直接拔掉过,TCP模式中断过。
具体的修复方法是在手机重新连接之后:

  1. 重启ADB Server(adb kill-server && adb start-server)
  2. 重新关闭和打开开发者选项的USB调试(重启ADB Daemon)
  3. 直接重启手机(就是重启ADB Daemon)
  4. 有的时候也可以试试重启电脑(属于神学范畴了)

提示unauthorized

这种情况一种是USB连接新手机时没有确认授权,另一种是TCP模式连接的设备已经被占用了。
对于USB连接时提示的未授权情况,可以重新确认授权即可,具体步骤:

  1. 重新关闭再打开USB调试选项
  2. 重新拔插USB数据线
  3. 重启ADB Server
  4. 直接在开发者选项中点击【撤掉USB所有授权】,然后在重新尝试上述操作

对于TCP模式进行连接的设备,因为只能连接一个设备,出现未授权时可能是有另外的电脑已经连接上了,需要先断开在重新连接。

上述只是汇总了常规的一些情况和处理方式,还有一些需要修改adb配置文件的方法,如果需要的话也可以尝试。如果还有遇到过其它坑的欢迎补充!