目录
一、ADB简介
二、为什么要用ADB
三、ADB架构和原理
四、ADB日志状态
五、ADB常用命令
🎁更多干货
完整版文档下载方式:
一、ADB简介
ADB全称Android Debug Bridge,起到调试桥的作用,是一个客户端-服务端程序。其中客户端是用来操作的电脑,服务端是Android设备。
ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。
二、为什么要用ADB
ADB可以直接操作管理手机模拟器或者真实的手机设备。它的主要功能有:
1、运行设备的shell命令行;
2、管理模拟器或设备的端口映射;
3、计算机和设备之间上传/下载文件;
4、可以对设备的应用进行卸载安装等;
5、在APP遇到ANR/Crash等bug时,可以通过ADB来抓取日志。
简而言之,ADB就是连接Android手机/平板和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!
三、ADB架构和原理
adb架构原理由此网址学习了解,如有侵权,请告知删除。玩转ADB命令(ADB命令使用大全)_51CTO博客_安卓adb命令大全
adb是一个C/S架构的应用程序,由三部分组成:
1、运行在pc端的adb client:
命令行程序“adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的adb服务器,如果找不到adb服务器,“adb”程序自动启动一个adb服务器。接下来,当设备的adbd和pc端的ADB server建立连接后,adb client就可以向adb server发送服务请求。
2、运行在pc端的adb server:
adb server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,adb server还需要将adb client的请求通过USB(有线连接)或者TCP(网络连接)的方式发送给对应的adbd(demon)上。
3、运行在设备端的常驻进程adb demon(adbd):
程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。
四、ADB日志状态
v——明细;
D——调节;
I——信息;
W——警告;
E——错误;
F——严重错误;
S——无记载。
五、ADB常用命令
1、连接设备
有线连接:通过USB线插入P端C和安卓端连接。
无线连接:
1、安卓端连接PC端热点后,通过adb connect 安卓ip地址连接
2、网络连接adb,需要安卓机和PC端在同一局域网(各自连接的网线都在一个局域网中),打开安卓机的开发者模式(快速连续点击关于设备,启动开发者模式),进入开发者模式启动OTG和网络adb命令后,通过adb connect 安卓的以太网地址:5555连接。
断开连接:adb disconnect ip地址
2、查看设备
adb devices #查看设备信息
输出格式为[serialNumber][state],serialNumber即是设备的序列号或ip地址,state有以下几种状态:
offline—表示设备未连接成功。
device—表示设备已连接。
no device—没有设备/模拟器连接。
adb version # 设备版本
adb help # 帮助文档
adb get-state # 查看设备状态 device正常连接,offline连接异常,unknown没有连接
adb get-serialno # 获取序列号
adb get-devpath # 获取设备路径
adb shell cat /system/build.prop # 获取设备名称
3、操作多个设备
adb -a # 监听所有网络接口,而不仅仅是localhost
adb -s 192.1678.0.8:5555 install test.apk # 指定设备安装app应用
4、关机与重启
adb reboot # 设备重启
adb shutdown # 设备关机
5、刷机模式
adb reboot bootloader # 重启到BootLoader,即刷机模式
adb reboot recovery # 重启到recovery,即恢复模式
adb sideload <path-to-update.zip> # 更新系统
6、查看应用
adb shell pm list packages # 查看当前连接设备或者虚拟机的所有包
adb shell pm list packages -s # 只输出系统的包
adb shell pm list packages -3 # 输出所有第三方的包
adb shell pm list packages -f # 输出包和包相关联的文件(安装路径)
adb shell pm list packages "lzy" # 输出包含过滤条件的包
7、查看应用的activity信息
adb shell dumpsys activity activities # 查看所有的活动程序名
8、清楚应用数据和缓存
adb shell pm clear packagename # 清楚应用数据和缓存
9、日志
adb logcat # 查看日志
adb logcat -v time # 打印详情日志,会记录当前的所有操作行为以及产生的结果,默认持续监听,按下ctrl+c即可结束
adb logcat -v time > D:\log\logcat.log # 输出实时日志并且保存到电脑中,需要Ctrl+c停止实时日志,会自动停止log打印并抓取往前十分钟左右的日志
adb logcat bugreport >D:\log\logcat.log # 输入指令后开始抓取log,不需要按ctrl+c停止
adb logcat -f /sdcard/1.txt # 保存日志到手机
adb logcat | findstr com.android.bluetooth # 保存指定包名的日志
adb logcat -c # 清楚之前的日志输出
adb logcat | findstr ActivityManager # 查看当前正在运行的activity
adb logcat | findstr Displayed # 查看当前正在运行的activity
adb logcat -b radio # 无线通选的日志
adb shell dmesg # 内核日志
10、截屏录屏
adb shell screencap /sdcard/1.png # 当前窗口截屏保存到手机
adb pull /sdcard/1.png D:\app # 再将手机的截图文件保存到电脑
adb exec-out screencap -p >1.png # 截图直接保存在电脑
adb shell screenrecord /sdcard/1.mp4 # 屏幕录屏,Ctrl+c停止录制,默认时间3分钟180秒
adb shell screenrecord --time-limit 10 /sdcard/1.mp4 # 屏幕录像,限制录制时间为10秒
adb pull /sdcard/1.mp4 F:\jietu # 将录制的视频保存在f盘中
11、设备相关信息
adb shell getprop ro.build.version.release # 查看安卓系统版本
adb shell getprop ro.product.model # 查看设备型号
adb shell cat /sys/class/net/wlan0/address # 查看Mac地址
adb shell wm size # 设备屏幕分辨率
adb shell wm size 400x654 # 设置屏幕分辨率
adb shell wm size reset # 恢复原屏幕分辨率
adb shell wm density # 设备屏幕密度
adb shell wm density 100 # 修改屏幕密度为100dpi
adb shell wm density reset # 恢复原屏幕密度
adb shell wm overscan 10,30,30,100 # 显示区域
adb shell wm overscan reset # 恢复原显示区域
adb shell dumpsys window displays # 显示屏参数
adb shell service list # 查看后台services信息
adb shell settings put global adb_enabled 0 # 关闭USB调试
adb shell uiautomator dump # 获取当前界面的控件信息
adb shell ime list -s # 设备上的输入法
12、进程
adb shell ps # 查看手机正在运行的进程 adb shell ps | findstr bluetooth
adb shell ps -x pid # 查看指定pid的进程状态信息
adb shell procrank # 杀进程
adb shell start adbd # 启动守护进程
adb shell stop adbd # 关闭守护进程
13、性能分析
adb shell cat /proc/cpuinfo # 获取cpu序列号
adb shell cat /proc/meminfo # 查看当前内存占用
adb shell top # 查看实时资源占用情况
adb shell top -m 6 # 查看占用内存前6的app
adb shell netcfg # 查看设备的网络连接情况
adb shell ifconfig wlan0 # 获取wlan0的ip地址和子网掩码
14、输入
adb shell input text hello # 输入hello
15、设备id
adb shell settings get secure android_id
16、无线网络
adb shell svc wifi enable # 开启wifi
adb shell svc wifi disable # 关闭wifi
17、以太网
adb root # 获取root权限
adb remount
adb shell ifconfig eth0 up # 打开
adb shell ifconfig eth0 down # 关闭
🎁更多干货
完整版文档下载方式:
这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。
在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!