adb 常用命令笔记

环境准备

确保设备已安装ADB工具并启用USB调试模式。通过以下命令验证设备连接:

bash 复制代码
adb devices

输出应显示设备序列号和"device"状态。

基础ADB操作

获取当前活动窗口信息:

bash 复制代码
adb shell dumpsys window windows | grep -E 'mCurrentFocus'

模拟点击事件需获取屏幕坐标:

bash 复制代码
adb shell getevent -p

输入自动化

执行文本输入命令:

bash 复制代码
adb shell input text "test123"

模拟物理按键操作:

bash 复制代码
adb shell input keyevent 4  # 返回键

屏幕截图与分析

截取屏幕并导出到本地:

bash 复制代码
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png ~/Desktop/

使用OpenCV进行图像识别(需Python环境):

python 复制代码
import cv2
template = cv2.imread('button_template.png', 0)
screen = cv2.imread('screen.png', 0)
res = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

事件序列封装

创建可复用的Shell函数:

bash 复制代码
function tap() {
    adb shell input tap $1 $2
}
function swipe() {
    adb shell input swipe $1 $2 $3 $4 $5
}

循环测试逻辑

实现重复压力测试:

bash 复制代码
for i in {1..100}; do
    tap 500 800
    sleep 1
    adb shell input keyevent 3
done

日志收集

定向抓取错误日志:

bash 复制代码
adb logcat -v time | grep "E/"

按时间戳保存日志文件:

bash 复制代码
adb logcat -d -v time > $(date +"%Y%m%d_%H%M%S").log

性能监控

获取CPU使用率:

bash 复制代码
adb shell top -n 1 | grep com.target.app

监测内存占用:

bash 复制代码
adb shell dumpsys meminfo com.target.app

异常处理

检测ANR并重启应用:

bash 复制代码
if adb logcat -d | grep -q "ANR in"; then
    adb shell am force-stop com.target.app
    adb shell am start -n com.target.app/.MainActivity
fi

设备控制

重启设备并等待恢复:

bash 复制代码
adb reboot
until adb devices | grep -w device; do sleep 5; done

设置系统属性值:

bash 复制代码
adb shell setprop debug.layout false
相关推荐
李游Leo36 分钟前
HarmonyOS 7 + ArkUI + RelationalStore 学习笔记:本地数据分层存储与状态持久化架构实践【鸿蒙心迹】
笔记·学习·架构·harmonyos
我命由我123451 小时前
经纪人的职业定义
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
摇滚侠2 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python
知产xiao_xin2 小时前
地理标志权
经验分享·笔记·知识产权
摆烂z4 小时前
多模态大模型微调笔记
笔记
胡二拉二胡4 小时前
抗遗忘单词表深度评测:FSRS 算法与学练考闭环实测
经验分享·笔记
用户14036058193834 小时前
Phase A · Step 2:预训练权重与 Pipeline 验证准备
笔记
旖旎夜光6 小时前
LeetCode 137 : 只出现一次的数字 II(位运算) —— 题解
c++·笔记·学习·算法·leetcode·力控
金色光环7 小时前
概率论笔记:连续型随机变量函数的分布与尺度变换 连续型随机变量函数的分布:定义法与公式法推导
笔记·概率论
维克兜率天8 小时前
【维克】均值回归:跌多了会涨,涨多了会跌
开发语言·笔记·python·算法·均值算法·回归·量化