学习测试7-ADB的使用

ADB是什么?

ADB,即 Android Debug Bridge(安卓调试桥) 是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits 。

ADB有什么作用?

ADB 是 Android SDK 里的一个工具, 用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:

复制代码
在设备上运行Shell命令;
将本地APK软件安装至模拟器或Android设备;
管理设备或手机模拟器上的预定端口;
在设备或手机模拟器上复制或粘贴文件。

ADB 是一个客户端-服务器程序程序,包括三个组件:

复制代码
客户端:该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

本文使用雷电模拟器4进行模拟安卓环境

adb使用

1,安装adb 配置环境变量

在系统环境变量path里加入路径

复制代码
D:\android-sdk\android-sdk\platform-tools     

2,在终端看是否安装成功


ADB常用命令

复制代码
查看adb的版本信息
adb version

adb devices 查询已连接的设备/模拟器列表
车机或手机和PC在同一网络

adb connect ip 端口号    连接设备

查看包名和启动名
adb shell dumpsys window | findstr usedApp
复制代码
adb shell am start -n com.android.launcher3     启动adb
一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。

adb shell am force-stop 包名       停止

adb shell pm list packages      列出手机安装的App的包名
adb shell pm list packages -s      列出系统的包名
adb shell pm list packages -3      列出3放应用的包名

adb shell pm clear  包名       清缓存

adb shell getprop  ro.product.model    查看设备型号
adb shell getprop  ro.build.version.release    查看设备型号

复制代码
截图
adb shell screencap -p /sdcard/p.png

文件上传和下载	 
adb push 本地文件  目标路径            上传
adb pull   目标文件  本地路径            下载

复制代码
查看启动时间
adb shell am start -W    包名启动名

例:

1、打开通讯录,查看包名启动名 adb shell dumpsys window | findstr usedApp

2、关闭通讯录, adb shell am force-stop

3、查看通讯录启动时间


复制代码
安装安卓文件
adb install -r name.apk    (强制安装 -r)

卸载
adb uninstall 包名

查日志
复制代码
adb logccat  
adb logcat -c   清楚之前的日志

过滤关键字
adb shell    进入到Linux             exit退出Linux模式
locat | grep -i 关键字


复制代码
过滤关键字2
adb logcat | findstr关键字

复制代码
将日志重定向到文件中
adb logcat > 文件

复制代码
 以 root 权限运行 adbd
adb root

重启
adb reboot

开启
adb start -server

关闭
adb kill -server

压力测试monkey 胡乱点命令

复制代码
adb shell monkey -p 包名 次数
日志等级  -v -vv -vvv   越来越细致
adb shell monkey  -v -p   包名 次数     adb shell monkey -p   包名  -v 次数

复制代码
中子数 -s       123无特别意义  标记monkey的操作顺序,便于复现
adb shell monkey -p   包名  -v -s 123  次数 
闪退  crash  无响应 anr  需要复现

设置间隔时间     -throttle
adb shell monkey -p   包名  -v -s 123  --throttle 次数   毫秒数	
adb shell monkey -p com.yunmall.lc -v 100 -s 123 --thorttle 100 1000

需要了解:

  1. 执行此事件- - put - touch:
    adb shell monkey -p 包名 --pct-touch 百分比 次数
  2. 忽略崩溃:- - ignore -crashes
    adb shell monkey -p 包名 --ignore-crashes 次数
  3. 忽略超时:- - ignore -timeouts
    adb shell monkey -p 包名 --ignore-timeouts 次数
相关推荐
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码9 天前
嵌入式学习路线
学习
风流 少年9 天前
mysql mcp
数据库·mysql·adb
毛小茛9 天前
计算机系统概论——校验码
学习
babe小鑫9 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms9 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下9 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。9 天前
2026.2.25监控学习
学习
im_AMBER9 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode