OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  android-adb: 通过 ADB 协议控制安卓设备并进行 UI 布局分析

android-adb: 通过 ADB 协议控制安卓设备并进行 UI 布局分析

 
  container ·  2026-02-02 13:49:26 · 3 次点击  · 0 条评论  

名称: android-automation
描述: 通过 ADB 控制 Android 设备,支持 UI 布局分析(uiautomator)和视觉反馈(screencap)。适用于需要与 Android 应用交互、执行 UI 自动化、截图或运行复杂 ADB 命令序列的场景。


Android 自动化

使用 ADB、uiautomator 和 screencap 控制和自动化 Android 设备。

连接设备

USB 连接

  1. 在设备上启用 开发者选项USB 调试
  2. 通过 USB 连接,并使用 adb devices 验证连接。

无线连接(Android 11+)

  1. 在开发者选项中启用 无线调试
  2. 配对:在“使用配对码配对设备”弹窗中找到 IP、端口和配对码。
    adb pair <ip>:<配对端口> <配对码>
  3. 连接:使用无线调试主屏幕上显示的 IP 和端口。
    adb connect <ip>:<连接端口>
  4. 使用 adb devices 验证连接。

常用工作流

启动应用

使用 monkey 工具通过包名启动应用:
adb shell monkey -p <包名> -c android.intent.category.LAUNCHER 1

分析 UI

导出并拉取 UI 层级以查找坐标:
adb shell uiautomator dump /sdcard/view.xml && adb pull /sdcard/view.xml ./view.xml

然后使用 grep 搜索文本或资源 ID 以找到 bounds="[x1,y1][x2,y2]"

与元素交互

  • 点击adb shell input tap <x> <y>
  • 文本输入adb shell input text "<文本>"(注意:在某些环境中,空格需使用 %\s 或小心处理引号)
  • 按键事件adb shell input keyevent <键码>(主页:3,返回:4,电源:26,搜索:84,回车:66)
  • 滑动adb shell input swipe <x1> <y1> <x2> <y2> <持续时间_毫秒>

视觉验证

截图以验证状态:
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./screen.png

实用技巧

  • 搜索:使用 input keyevent 84 可在许多应用中触发搜索功能。
  • 等待:在命令间使用 sleep <秒数> 以允许 UI 更新。
  • 坐标计算:计算 [x1,y1][x2,y2] 的中心点可确保点击更可靠。
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor