【Android】‘adb shell input text‘ 模拟器输入文本工具使用教程

adb shell input text 是 Android Debug Bridge (ADB) 工具中的一个命令,用于通过命令行向连接的 Android 设备或模拟器输入文本。这个命令非常有用,尤其是在自动化测试或远程控制设备时。

基本用法

  1. 输入文本
    使用以下命令向设备输入文本:

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

    例如:

    bash 复制代码
    adb shell input text "Hello, World!"

    这将在当前聚焦的输入框中输入 "Hello, World!"。

注意事项

  • 空格和特殊字符input text 命令不支持直接输入空格和某些特殊字符。如果需要输入空格,可以使用 %s 代替。例如:

    bash 复制代码
    adb shell input text "Hello%sWorld!"

    这将输入 "Hello World!"。

  • 焦点:确保输入框已经聚焦,否则文本将不会被输入到预期的位置。

其他 input 命令

input 命令不仅可以输入文本,还可以模拟其他输入事件,如按键、触摸和滑动等。以下是一些常用的 input 命令:

  1. 模拟按键事件

    bash 复制代码
    adb shell input keyevent <keycode>

    例如,模拟按下 Home 键:

    bash 复制代码
    adb shell input keyevent KEYCODE_HOME

    常用的 keycode 包括:

    • KEYCODE_HOME:Home 键
    • KEYCODE_BACK:返回键
    • KEYCODE_MENU:菜单键
    • KEYCODE_VOLUME_UP:音量增加键
    • KEYCODE_VOLUME_DOWN:音量减少键
    • KEYCODE_POWER:电源键
  2. 模拟触摸事件

    bash 复制代码
    adb shell input tap <x> <y>

    例如,点击屏幕坐标 (500, 500):

    bash 复制代码
    adb shell input tap 500 500
  3. 模拟滑动事件

    bash 复制代码
    adb shell input swipe <x1> <y1> <x2> <y2> [duration]

    例如,从 (300, 500) 滑动到 (300, 1000):

    bash 复制代码
    adb shell input swipe 300 500 300 1000

    可选的 duration 参数表示滑动持续时间(以毫秒为单位)。

示例

  1. 输入用户名和密码

    bash 复制代码
    adb shell input text "username"
    adb shell input keyevent KEYCODE_TAB
    adb shell input text "password"
    adb shell input keyevent KEYCODE_ENTER

    这个示例假设输入框之间有 Tab 键切换,并且最后一个输入框后按 Enter 键提交。

  2. 自动化登录

    bash 复制代码
    adb shell input tap 500 500  # 点击用户名输入框
    adb shell input text "my_username"
    adb shell input tap 500 600  # 点击密码输入框
    adb shell input text "my_password"
    adb shell input tap 500 700  # 点击登录按钮

总结

adb shell input text 是一个非常有用的命令,可以帮助你在 Android 设备上自动化输入文本和其他输入事件。通过结合其他 input 命令,你可以实现复杂的自动化操作,如自动化测试、远程控制等。

相关推荐
杉氧2 小时前
状态管理变迁史:为什么我们放弃了 Redux 选择 Zustand?
android·前端·react native
三少爷的鞋6 小时前
别再靠 Code Review 守底线:我做了一个静态分析项目 RedLine
android
y = xⁿ14 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
2601_9620664916 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
用户69371750013841 天前
曾经安卓开发人手一个的 EventBus,为什么现在没人爱用了?
android·android studio
九皇叔叔1 天前
MySQL ORDER BY 性能优化详解:Using filesort、联合索引、ASC/DESC 与覆盖索引
android·adb
OriginCoding1 天前
用 AI Agent 协作完成一个 Android TOTP 应用:从需求边界到 v1.0.0
android·ai编程
杉氧1 天前
React 灵魂:深入剖析 Hooks 与副作用(Side Effects)陷阱
android·前端·react native
又见情义1 天前
RK3568 + RTL8211F 网络唤醒(WOL)功能适配全记录
android·网络·驱动开发
用户0934077735141 天前
HarmonyOS WPS Open SDK 实践:registerApp 鉴权与就绪门禁
android·typescript·harmonyos