adb shell —— input 与 wm

input

input 命令主要用于模拟各种事件。如输入文本、滑动、点击等。

几个常用的命令如下:

text

向当前选择的文本框中输入指定的内容

如:

input text github

该方法会向当前选中的文本框中输入 github。如果当前没有选中文本框,该命令不会有任何效果。


keyevent

模拟点击手机物理或是屏幕按键。其后跟的参数为按钮的 keycode。

常用的 keycode

input keyevent 3

该命令相当于点击手机中的 home 键。


swipe

模拟滑动事件。

其格式为:

input swipe     [duration(ms)] 

(x1,y1) 表示起始点坐标,(x2,y2) 表示终点坐标。 duration 是可选的,表示滑动时长。如:

input swipe 100 1500 100 100 1000

上述命令会在 1000 毫秒内从 (100 , 1500) 移动到 (100 , 100)。

长按

使用 swipe 命令可以模块长按事件

只需要将滑动的起始点与终止点坐标设置成一样,并且 duration 设置久一点即可。


tap

模拟点击事件。需要指定点击的坐标。

其格式为:

tap  

如:

input tap 540 960

相当于点击了屏幕的 (540, 960) 位置。


wm

wm 主要用于设置手机分辨率、像素密度、显示区域等。

其常用的命令有: density,size。

density

对手机屏幕密度进行操作

  1. 不跟参数,则表示获取屏幕密度

  2. 跟 reset 表示将手机屏幕密度恢复到原始值

  3. 跟数字,则表示将手机屏幕密度设置为指定值。

如:

$ wm density  
Physical density: 480
$ wm density 640
$ wm density
Physical density: 480
Override density: 640
$ wm density reset

第一个条件用于获取屏幕原始密度,第二个命令会将屏幕密度设置为 640 ( app 中以 sp 或 dp 为单位的文字都会变大,但以 px 为单位的不变 ),最后一个命令用于将屏幕密度恢复正常。


size

对手机分辨率进行操作

后不跟参数,或跟 reset 时,作用 density 时类似。

后跟 WxH 时,表示将分辨率设置为 WxH

$ wm size 540x960
$ wm size reset
$ wm size
Physical size: 1080x1920

第一个命令表示将分辨率设置为 540*960。

第二个命令表示将分辨率恢复正常。

第三个命令用于获取正常状态下的分辨率。


overscan

用于操作屏幕显示区域

  1. 跟 reset 表示将显示区域恢复正常

  2. 跟四个用逗号分隔的值时,表示显示区域距离屏幕的左、上、右、下的距离,单位为 px

$ wm overscan 100,100,600,600
$ wm overscan reset

第一个命令表示将显示区域的左上角坐标为(100, 100),右下角坐标为(600, 600)

第二个命令表示将显示区域恢复正常。

你可能感兴趣的:(adb shell —— input 与 wm)