一、准备工作
1、准备一台或多台Android设备(如小米,华为),开启USB调试
2、Android设备与电脑(Mac或者Windows)在同一个局域网内
3、电脑安装好ADB工具
二、具体步骤
1.使用数据线通过USB接口将手机与电脑连接,在终端中执行如下命令:
方法一USB数据线连接:adb devices 查看设备是否连接成功。
方法二通过无线局域网连接:adb tcpip 5555(PS:5555是连接时的默认端口号,可以设置为任何未占用的端口号)
返回restarting in TCP mode port: 5555
则代表服务开启成功,可以拔掉数据线断开电脑和手机的连接。
2.找到手机的IP地址,执行连接命令:
一般在设置-关于手机-状态信息-IP地址
可以找到,或者执行命令:
adb shell ip -f inet addr show wlan0
找到我的手机IP10.0.1.121
abd connect 10.0.1.121:5555
返回connected to 10.0.1.121:5555
代表连接成功
因为我们默认端口是5555,所以执行abd connect 10.0.1.121的时候相当于执行了abd connect 10.0.1.121:5555,如果adb tcpip连接的端口号不是5555时adb connect 时IP后需要需要加上端口号。
结果图:
3.断开连接,执行:adb disconnect
PS:如果手机wifi断了,也会自动中断连接,需要重新连接。
三.解决电脑和手机的连接问题
1、我们做APP自动化的时候,没有必要每台设备都通过USB连接电脑了(毕竟USB端口有限,而且有些线用久了,接触不良的说),只要知道无线连接的IP和端口10.0.1.121:5555
以python+appium脚本为例,我们的连接参数可以从
desired_caps={}
desired_caps[\'platformName\']=\'Android\'
desired_caps[\'deviceName\'] = \'58d1a05c\'
desired_caps[\'platformVersion\'] = \'7.0\'
desired_caps[\'appPackage\'] = \'com.tencent.mm\'
desired_caps[\'appActivity\'] = \'.ui.LauncherUI\'
driver = webdriver.Remote(\'http://127.0.0.1:4723/wd/hub\', desired_caps)
改成
desired_caps={}
desired_caps[\'platformName\']=\'Android\'
desired_caps[\'deviceName\'] = \'10.0.1.121:5555:5555\'
desired_caps[\'platformVersion\'] = \'7.0\'
desired_caps[\'appPackage\'] = \'com.tencent.mm\'
desired_caps[\'appActivity\'] = \'.ui.LauncherUI\'
driver = webdriver.Remote(\'http://127.0.0.1:4723/wd/hub\', desired_caps)
2、由于可以无线连接设备,在我们跑APP自动化脚本的时候还可以很好的监控设备运行过程中的电量消耗,因为连接USB时会自动充电,会导致电量计算不准确。
3、当我们需要调试自己手机时,但是手机又需要充电,明显的USB充电很慢,这时我们可以adb无线连接调试。
4、摆脱束缚,调试的时候演示也没必要带着一堆线了,比如chrome的inspect,chrome://inspect/#devices
3.1、连接多台设备
当我们连接着两台设备时,执行
adb tcpip 5555
提示:error: more than one device/emulator
此时我们只需要给adb命令 加上-s参数,指定设备号即可,其他的操作基本都是一样的了。
adb -s 50f98a9f tcpip 5555
3.2、关于真机设备连接识别问题
1.如果List of devices attached下方没出现任何信息,就是手机没连上电脑,或者电脑上没安装手机的驱动
C:\Users\admin>adb devices
List of devices attached
2.插拔usb数据线,电脑屏幕出现无法识别的usb设备,那就是手机驱动没安装好
3.3、一 安装手机驱动
1.电脑下载一个手机助手类的管理工具,它会自动识别手机设备型号,安装驱动
2.手机开启开发者选项,在设置里面要是没看到‘开发者选项’,打开关于手机-对着版本号连着点10次(有的机型点击7次即可)就出来了
3.usb调试模式勾选
3.4、 没授权(unauthorized)
出现unauthorized是因为手机没授权给电脑连接,重新插拔数据线,勾选USB调试
C:\Users\admin>adb devices
List of devices attached
A5RNW18316011440 unauthorized
1.手机重新连上电脑,插拔下数据线,勾选USB调试
2.USB连接方式选择MTP
3.5、 adb端口冲突
1.如果出现adb server version (32) doesn\'t match this client (36),这个就是adb端口冲突,被其它应用占用了,比如(91助手,手机管家之类的)
C:\Users\admin>adb devices
List of devices attached
adb server version (32) doesn\'t mat
error: could not install *smartsock
通常每个套接字地址(协议/网络地址/端
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
2.解决办法:卸载91助手,手机管家之类的
3.6、 offline
1.输入adb devices ,一直显示设备处于offline状态,先尝试以下基本操作:
C:\Users\admin>adb devices
List of devices attached
A5RNW18316011440 offline
- 开启usb调试模式
- 关闭第三方手机助手软件
- 重启adb服务
adb kill-server
adb start-server
2.查看adb版本号,是不是低了
adb -version
3.查看adb环境变量,是不是配置了多个adb
4.在手机设置中点击撤销USB调试授权,然后重新连接电脑,重新授权该电脑。
5.如果还不行的话,那就重启手机、重启电脑。