前提条件
-
安装 ADB:确保你已经在计算机上安装了 Android SDK(或单独的 ADB)。并将其添加到系统环境变量中,以便你可以在命令行中运行 adb。
-
USB调试:确保 Android 设备已启用 USB 调试模式。这可以在设备的“设置” -> “关于手机”中,连续点击“版本号”7次,然后返回“设置” -> “开发者选项”中启用 USB 调试。
-
连接设备:通过 USB 数据线将 Android 设备连接到计算机。
流程步骤
-
查找设备的连接状态:
你可以通过运行下面的命令来确保连接状态:adb devices
这将列出连接的设备,如果你的设备出现在列表中,就表示连接成功。
-
确定要点击的按钮的坐标:
为了点击按钮,你需要知道该按钮在屏幕上的确切位置(x, y 坐标)。你可以采取以下几种方法获取这些坐标:-
使用屏幕截图:
adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png .
之后查看截图文件,以找到你想要点击的按钮位置。
-
使用 UI 自动化工具:
你可以使用uiautomator
工具来获取界面信息:adb shell uiautomator dump /sdcard/window_dump.xml adb pull /sdcard/window_dump.xml .
然后通过分析 XML 文件找到你所需按钮的坐标。
-
-
编写点击命令:
假设你已经获取到按钮的坐标(x, y)
。接下来编写一个命令在特定时间点击该位置。你可以使用sleep
命令来设置延迟。示例:假设确定按钮坐标是 (500, 800),你希望在10秒后进行点击。
sleep 10 ; adb shell input tap 500 800
-
整合到一个脚本中:
如果你希望将命令放入一个脚本文件中,可以创建一个.sh
文件(Linux/Mac OS)或.bat
文件(Windows)。-
Linux/MacOS 示例:
创建一个名为
click_button.sh
的文件,内容如下:#!/bin/bash sleep 10 adb shell input tap 500 800
然后给文件执行权限:
chmod +x click_button.sh
然后运行脚本:
./click_button.sh
-
Windows 示例:
创建一个名为
click_button.bat
的文件,内容如下:@echo off timeout /t 10 adb shell input tap 500 800
然后双击该文件运行。
-
运行脚本
确保设备连接正常后,运行你编写的脚本,等待 10 秒钟后,它将自动点击指定的按钮。
注意事项
- 屏幕旋转:确保设备处于固定的屏幕方向(竖屏或横屏),因为这会影响坐标值。
- 坐标准确性:不同设备的分辨率不同,确保你在对应的分辨率下获取坐标。
- 权限设置:某些设备可能在 UI 自动化上有额外的限制,确保你的应用权限设置妥当。
window_dump.xml
:
当前页面完整的 UI 树结构信息都 dump 出来了,包括 view 的类名、资源 ID 和屏幕位置坐标等