Android 常用 adb 命令总结(三)


    input

         这个命令可以向Android设备发送按键事件,源码为Input.java------(6)

             input text,发送文本内容,不能发送中文,前提先将键盘设置为英文键盘:

                   adb shell input text test123456


            input keyevent,发送按键事件,KeyEvent.java ------------(7)

                   adb shell input keyevent KEYCODE_HOME

            以上为模拟按下Home键,源码里面有定义:

                   public static final int KEYCODE_HOME=3

            因此可以将命令中的KEYCODE_HOME 替换为3

                   adb shell input keyvent 3


            input tap,对屏幕发送一个触摸事件:

                   adb shell input tap 500 500

            以上为点击屏幕上坐标为 500 500的位置

            

            input swipe,滑动事件:

                    adb shell input swipe 900 500 100 500

            以上为从右往左滑动屏幕,如果版本不低于4.4,可以模拟长按事件:

                    adb shell input swipe 500 500 501 501 2000

            其实就是在小的距离内,在较长的持续事件内进行滑动,最后表现出来的结果就是长按动作。

            到这里会发现,MonkeyRunner 能做到的事情,通过 adb 命令都可以做得到,如果进行封装,会比 MR 做得更好。

        screencap

                       截图命令,截屏,保存至sdcard目录:

                                         adb shell screencap -p /sdcard/screen.png

        screenrecord

                        4.4新增的录制命令:

                                          adb shell screenrecord sdcard/record.mp4

                        执行命令后操作手机,crtl+c结束录制,录制结果保存至sdcard

     uiautomator

            执行UI automation tests,获取当前界面的控件信息。

                 runtest:executes UI automation tests,RunTestCommand.java   --------------(8)

                 dump:获取控件信息:DumpCommand.java     -------------------(9)

                      adb shell uiautomator dump

                      UI hierchary dumped to: /storage/emulated/legacy/window_dump.xml

                  不加[file]选项时,默认存放在sdcard下

     ime

                                   输入法,Ime.java-------------------(10)

                                   列出设备上的输入法:

                                              adb shell ime list -s

                                    com.google.android.inputmethod.pinyin/.PinyinIME                     com.baidu.input_mi/.ImeService 

                                     选择输入法:

                                                adb shell ime set com.baidu.input_mi/.ImeService

                                      Input method com.baidu.input_mi/.ImeService selected


       wm

                 wm.java---------(11)

                      获取设备分辨率:

                             adb shell wm size

                       Physical size: 1080x1920

     monkey、settings、dumpsys------------(12)

    log

               这个命令可以在logcat里面打印你设定的信息。

                         adb shell log -p d -t xuxu "test adb shell log"

                -p:优先级,-t:tag:标签,后面加上message

                         adb logcat -v time -s xuxu

                --------- beginning of /dev/log/system                  --------- beginning of /dev/log/main                  05-15 13:57:10.286 D/xuxu    (12646): test adb shell log  

      getprop

                查看Android设备的参数信息,只运行 adb shell getprop,结果以key:value键值对的形式显示,如果获取某个key的值:

                         adb shell getprop ro.buld.version.sdk

                以上为获取sdk的版本。