发布时间:2026-07-21阅读(1)
大家好,我是皮皮,今天给大家讲讲ADB操作。
前面给大家分享了Airtest,感兴趣的小伙伴,可以前往:手机自动化测试IDE-----Airtest实战篇、手机自动化测试IDE ----- 手把手教你用Airtest模拟器来连接手机、手机自动化测试IDE-----Airtest基本操作方法、手机自动化测试IDE ----- Airtest的安装和IDE控件详解,任君挑选。
前言ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 ADB命令来从命令行终端调用客户端。
守护进程:在设备上运行命令。守护进程在每个设备上作为后台进程运行。
服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。
通过这个命令行工具我们可以使用它来操作手机上的资源,而且不需要借助Android SDK就可以轻松操控手机里的应用。
一、工作原理当您启动某个ADB客户端时,客户端会先检查是否有 ADB服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 ADB 客户端发出的命令 - 所有 ADB客户端均通过端口 5037 与 ADB 服务器通信。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现ADB守护进程 (ADBD),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于ADB 连接的奇数号端口。
二、下载ADB这里小编已经给大家准备好了,下载地址:https://u062.com/file/7715018-452566390,如果你想在任何文件目录使用ADB的话,必须把ADB的安装目录加入环境变量,然后我们可以使用ADB的界面工具,它可以很直观方便的执行ADB的命令并显示结果,这个工具就是APKInstaller,下载地址:https://u062.com/file/7715018-452566398,如图:


这里我选择连接模拟器,看看连接有什么区别。
1).连接设备adb connect 127.0.0.1:62001#连接一个模拟器
adb start-server#开启服务
adb devices #查看设备信息adb version #设备版本adb help #帮助文档 adb get-state #查看设备状态 device(正常连接),offline(连接异常),unknown(没有连接)adb get-serialno #获取序列号adb get-devpath #获取设备路径adb shell cat /system/build.prop #获取设备名称
adb —a 监听所有网络接口,而不仅仅是localhost -d 使用USB设备(如果多个设备连接错误) -e 使用TCP / IP设备(如果可用多个TCP / IP设备错误) -s 使用给定的序列号(覆盖ANDROID_SERIAL) -t 使用给定设备ID -h adb服务器主机名称(默认= localhost) -p adb服务器的端口(默认= 5037) -l 监听来自套接字的adb服务器(默认= tcp: localhost: 5037) 例如:adb -s 127.0.0.1:62001 shell

这样我们呢就进入了模拟器的Shell界面了。
5).关闭服务adb kill-server
adb tcpip 5555
adb disconnect 127.0.0.1:62001
adb reboot #设备重启adb shutdown #设备关机
adb root # 正常输出:restarting adbd as rootadb unroot # 取消root权限
adb reboot bootloader #重启到bootloader,即刷机模式adb reboot recovery #重启到recovery,即恢复模式adb sideload <path-to-update.zip>#更新系统
adb wait-for-device # 在模拟器/设备连接之前把命令转载在adb的命令器中
adb shell pm list packages #所有应用adb shell pm list package -f #adb shell pm list packages -s #系统应用adb shell pm list packages -3 #三方应用adb shell pm list packages | findstr bluetooth #过滤应用 管道符进行搜索,Linux下使用grep

adb shell dumpsys package com.android.bluetooth #查看系统应用蓝牙的包名信息adb shell dumpsys activity activities #查看所有的活动程序包名adb shell dumpsys activity | findstr mFocusedActivity #查看当前重启的是哪个包adbshelldumpsysactivitytop|findstractivity#查找设备活动程序的父窗口

adb shell pm clear

adb install D:/aa.apk #安装在电脑上的apkadb install -r D:/aa.apk#覆盖安装 保留数据和缓存文件 -g 授予所有运行时权限adb shell pm install /scard/picture#安装在手机上的apkadb uninstall -k 包名在模拟器或者真机中需要使用 -s来指定
adb logcat#查看日志adb logcat -v time #打印详情日志,会记录当前的所有操作行为以及产生的结果,默认持续监听,按下Ctrl c即可结束adb logcat -v time >D:\log.txt #保存日志到电脑adb logcat -f /sdcard/1.txt #保存日志到手机adb logcat | findstr com.android.bluetooth #保存指定包名的日志adb logcat -c #清除之前的日志输出adb logcat | findstr ActivityManager #查看当前正在运行的Activityadb logcat | findstr Displayed #查看当前正在运行的Activityadb bugreport #查看bug报告adb logcat -b radio #无线通讯的日志adb shell dmesg #内核日志
#把电脑上的文件传到手机储存卡中adb push C:\Users\Administrator\Desktop\1.gif /sdcard/#把手机存储卡里的文件传到电脑adb pull /sdcard/1.gif C:\Users\Administrator\Desktop\



adb shell screencap /sdcard/1.png #当前窗口截屏保存到手机adb shell /system/bin/screencap -p /sdcard/2.pngadb exec-out screencap -p >1.png #截图保存到电脑adb shell screenrecord >1.mp4 #屏幕录像,Ctrl c停止录制--size #视频大小--bit-rate #比特率--time-limit #持续时间--verbose #命令行显示log信息注:模拟器和安卓4.4以下版本不支持录屏
Shell里有很多命令,我们简单列举下:
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图