ysbing/YADB · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
YADB - ADB 功能增强工具
YADB 是一款扩展原生 ADB (Android Debug Bridge) 能力的实用工具。它解决了文本输入、截图捕获和 UI 布局提取等方面的局限性,提供更高效、更精确的操作。
功能
中文文本输入
修复了 adb shell input text 无法输入中文字符的问题。支持输入任意文本字符串。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -keyboard 'Hello, World'"
读取剪贴板
从设备读取当前剪贴板内容。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -readClipboard"
写入剪贴板
将指定文本写入设备剪贴板。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -writeClipboard TextContent"
强制截图
捕获当前屏幕内容,绕过任何应用级别的截图限制。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -screenshot"
高效布局转储
uiautomator dump 的替代方案,即使在 uiautomator 无法获取 UI 元素的页面上,也能实现布局提取。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -layout"
长按模拟
模拟屏幕上的长按触摸事件,适用于自动化测试场景。
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -touch 500 500 2000"
长按并拖拽
适用于需要长按某个元素以选中它,然后将其拖拽到新位置的场景。
# Args: startX startY endX endY pressDuration(ms) dragDuration(ms)
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -longPressDrag 500 500 500 1000 2000 1000"
无惯性滑动
原生 input swipe 的替代方案。它使用减速插值来消除列表滚动惯性,精确停止在手指抬起的位置。
# Args: startX startY endX endY duration(ms)
adb push yadb /data/local/tmp
adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -swipe 100 1000 100 500 1000"
双指捏合
模拟双指捏合(缩小)或张开(放大)操作。
# Args: centerX centerY startDistance(px) endDistance(px) duration(ms)
# Zoom Out (Pinch In): Distance from 800px to 200px
adb push yadb /data/local/tmp && adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -pinch 540 960 800 200 500"
# Zoom In (Pinch Out): Distance from 200px to 800px
adb push yadb /data/local/tmp && adb shell "app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -pinch 540 960 200 800 500"
许可证
本项目采用 LGPLv3 许可证 授权。