当前位置: 首页 > news >正文

adb 常用命令笔记

环境准备

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

adb devices

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

基础ADB操作

获取当前活动窗口信息:

adb shell dumpsys window windows | grep -E 'mCurrentFocus'

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

adb shell getevent -p

输入自动化

执行文本输入命令:

adb shell input text "test123"

模拟物理按键操作:

adb shell input keyevent 4  # 返回键

屏幕截图与分析

截取屏幕并导出到本地:

adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png ~/Desktop/

使用OpenCV进行图像识别(需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函数:

function tap() {adb shell input tap $1 $2
}
function swipe() {adb shell input swipe $1 $2 $3 $4 $5
}

循环测试逻辑

实现重复压力测试:

for i in {1..100}; dotap 500 800sleep 1adb shell input keyevent 3
done

日志收集

定向抓取错误日志:

adb logcat -v time | grep "E/"

按时间戳保存日志文件:

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

性能监控

获取CPU使用率:

adb shell top -n 1 | grep com.target.app

监测内存占用:

adb shell dumpsys meminfo com.target.app

异常处理

检测ANR并重启应用:

if adb logcat -d | grep -q "ANR in"; thenadb shell am force-stop com.target.appadb shell am start -n com.target.app/.MainActivity
fi

设备控制

重启设备并等待恢复:

adb reboot
until adb devices | grep -w device; do sleep 5; done

设置系统属性值:

adb shell setprop debug.layout false
http://www.dtcms.com/a/222228.html

相关文章:

  • 近期知识库开发过程中遇到的一些问题
  • Centos7安装gitlab
  • ISCC-2025-web-wp
  • 竞争加剧,美团的战略升维:反内卷、科技与全球化
  • 力扣每日一题——找到离给定两个节点最近的节点
  • Drawio编辑器二次开发
  • 物流项目第十期(轨迹微服务)
  • redis内存数据库
  • 【cpp-httplib】 安装与使用
  • TIDB创建索引失败 mkdir /tmp/tidb/tmp_ddl-4000/1370: no such file or directory.
  • 全面解析:npm 命令、package.json 结构与 Vite 详解
  • npm、pnpm、yarn使用以及区别
  • 1.3HarmonyOS NEXT统一开发范式与跨端适配:开启高效跨设备应用开发新时代
  • 深度学习赋能图像识别:技术、应用与展望
  • 【C++】22. 红黑树封装实现Mymap和Myset
  • Trust Tickets(跨域信任票据):内网渗透中的Kerberos信任票据滥用技术
  • 编译rustdesk,使用flutter、hwcodec硬件编解码
  • 龙虎榜——20250530
  • Ubuntu本地文件上传github(版本控制)
  • 2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
  • 《智慧医疗分级评价方法及标准(2025版)》征求意见函全面解读:人工智能医疗应用的评价体系与指南方向
  • Dify理论+部署+实战
  • python常用库-pandas、Hugging Face的datasets库(大模型之JSONL(JSON Lines))
  • 使用matlab读取txt文件中的2进制数据
  • 中联教育 - 嵌入式BI助力财经数据分析服务
  • 相机--RGB相机
  • 《TCP/IP 详解 卷1:协议》第3章:链路层
  • 在 Linux 上构建 Kubernetes 单节点集群:Minikube 安装与实战指南
  • 5分钟学会网络服务搭建,飞凌i.MX9352 + Linux 6.1实战示例
  • C++ TCP程序增加TLS加密认证