ADB的全称为Android Debug Bridage,就是起到调试桥的作用。通过ADB工具我们可以调试Android程序。
官网下载jdk安装包,安装jdk,配置环境变量(将java/bin和jre/bin目录配置到系统变量的PATH中去)
官网下载platform-tools,解压后把add.exe目录放到系统环境变量PATH中。
打开cmd窗口,输入adb version,回车显示版本号表示配置成功。
打开模拟器
打开开发者模式
zydeMacBook-Air:~ zy$ adb devices
List of devices attached
192.168.56.113:5555 device
以上显示连接成功。
数据线功能:充电、文件传输、adb驱动。最好选择原装数据线,如果是网购平台买来的配置数据线,可能会少功能,比如说,缺少adb驱动功能。
第一次连接着台真机可能会出现adb devices显示设备unauthorized,意思是手机未授权。此时查看真机,会弹出是否允许USB调试的授权框,勾选始终允许使用这台计算机进行调试,并点击确定。再执行adb devices就会恢复正常。
手机和电脑在同一个局域网
关闭电脑防火墙(请百度不同系统关闭防火墙的方式)
退出杀毒软件
zydeMacBook-Air:~ zy$ adb connect 192.168.110.121:5555
failed to connect to '192.168.110.121:5555': Connection refused
5555是默认的真机连接adb的端口
出现connection refused,排查方向,查看5555端口连接情况
zydeMacBook-Air:~ zy$ adb tcpip 5555
error: no devices/emulators found
显示5555端口未连接设备。
如果显示more than one device/emulator,先使用adb disconnect断开连接。如果连接了其他设备,无法通过Wi-Fi连接真机。断开连接后再尝试通过Wi-Fi连接手机。如果依然显示connection refused,请往下看。
原因: adbd没有监听网络连接
解决: 打开adbd服务的5555端口
先用USB连接手机,然后执行
zydeMacBook-Air:~ zy$ adb shell
HNALA7:/ $ setprop service.adb.tcp.port 5555
之后去设置里关闭再重新打开"USB调试"选项。然后断开数据线连接,通过adb connection命令连接手机。
zydeMacBook-Air:~ zy$ adb connect 192.168.110.121:5555
connected to 192.168.110.121:5555
移动端测试关注crash、anr(无响应)
zydeMacBook-Air:~ zy$ adb logcat -v time>/Users/zy/Desktop/logcat0324.txt
开始移动端测试后,使用该命令,它会记录手机上所做的所有操作,并将数据重定向到指定路径。-v以日志的形式输出,time以时间信息为主线。
zydeMacBook-Air:~ zy$ adb install /Users/zy/Downloads/App_JCSample2.10.1.apk
Performing Streamed Install
Success
可以通过直接把apk拖进命令行窗口来快速补充路径。
zydeMacBook-Air:~ zy$ adb uninstall com.juphoon.mmetester
Success
参数是包名。包名是应用在手机上的唯一识别码。
以用该命令抓取应用运行日志为例:
zydeMacBook-Air:~ zy$ adb pull /sdcard/Android/data/com.juphoon.cloud.sample/files/log /Users/zy/Desktop/log_test
/sdcard/Android/data/com.juphoon.cloud...ed. 2.5 MB/s (6266184 bytes in 2.408s)
用法:adb pull 日志所在所在路径 导出到本地的路径
另一个用法:
应用无响应后,系统会输出anr日志,anr日志保存在手机/data/anr目录下traces.txt文件中。工作过程中如果出现系统无响应的情况,需要将traces.txt命令导出到本地,提交给开发。
zydeMacBook-Air:~ zy$ adb shell
HNALA7:/ $ cd /data/anr
HNALA7:/data/anr $ ls
anr_2022-03-03-18-02-33-971
如上图所示,因为我的手机里面没有生成traces.txt文件,这里不贴出应用命令了。
adb version——查看adb版本号
adb connect [ip]:[port]——通过网络的方式连接移动端
adb disconnect [ip]:[port]——通过网络方式断开移动端连接
adb tcpip 5555——启动tcpip协议的5555端口(必须连接数据线操作)
adb -s 设备号——指定某个设备进行操作