添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
小眼睛的刺猬  ·  "Uncaught (in ...·  1 周前    · 
欢乐的蚂蚁  ·  Node.js Readline Module·  6 天前    · 
无聊的金针菇  ·  <a>:超連結元素 - ...·  4 天前    · 
大方的香烟  ·  Filebeat filestream ...·  2 天前    · 
力能扛鼎的生姜  ·  Triggers and ...·  1 月前    · 
绅士的竹笋  ·  海悅聯名卡·  1 月前    · 

最近开发一个新的接口,在调试的时候要手动输入蛮多参数,关键是参数又都太长,就专门看了下 adb 有木有模拟输入,果然adb shell里是有的。这样以后开发调试、自动化测试等就更加方便了。专门简单总结下:

ADB命令系列之 Base Command: https://blog.bihe0832.com/adb-base.html

重点介绍一些基本的adb命令,例如devices,start-server,kill-server,install,uninstall,push,pull,bugreport,logcat等。
    

ADB命令系列之 Advanced Command:https://blog.bihe0832.com/adb-advanced.html

重点介绍一些相对比较复杂的adb命令,主要是adb shell 相关的。例如screencap,monkey,getprop,setprop,pm,am,dumpsys等。
    

ADB命令系列之 adb shell input:https://blog.bihe0832.com/adb-shell-input.html

重点介绍adb shell input的用法,包括怎么输入内容,怎么模拟按键,模拟屏幕滑动等各种输入模拟。
    

ADB命令系列之 再说ADB:https://blog.bihe0832.com/review_adb.html

重点结合使用场景介绍ADB 的使用,例如解锁手机、截屏、Monkey点击、获取厂商机型等
    

ADB命令系列之 ADB快捷输入法:https://blog.bihe0832.com/input.html

主要解决 ADB hell input 无法输入中文的问题
  The commands and default sources are:
        text <string> (Default: touchscreen)
        keyevent [--longpress] <key code number or name> ... (Default: keyboard)
        tap <x> <y> (Default: touchscreen)
        swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
        press (Default: trackball)
        roll <dx> <dy> (Default: trackball)

部分参数说明

  • source对应各种输入源。一般开发中都是用默认值即可。也就是说一般使用中我们的参数中并没有source。
  • 输入命令中text 和 keyevent是通用的;tap和swipe适用于触摸屏;而press和roll用于有触摸球的设备,由于使用的很少,因此不做说明。
  • 模拟输入文本(text)

    用法与事例

    主要用于在输入框中输入内容。命令很简单。例如:

    adb shell input text "hello,world"
      
  • 使用的前提是当前要输入的位置已经获得了焦点。
  • 特殊字符的输入:adb shell input text中空格、’'、&都是有特殊含义的特殊字符,无法直接输入,要想输入只能使用keyevent。
  • 输入过程中左移右移、删除等都需要使用keyevent。
  • 模拟按键(keyevent)

    用法与事例

    主要用于模拟键盘的输入,因此是在用键盘的地方才用得到。例如:

    adb shell input keyevent 67
    

    常用按键: