您的位置:首页 > 移动开发 > Android开发

Android 按键模拟输入事件和Monitor工具的使用

2017-04-11 14:40 579 查看
有时候,进行Android开发,会遇到屏幕会失灵的情况,但是显示无问题,这时候可以使用一些工具/手段,在电脑端控制模拟屏幕输入,或者使用adb 相关命令模拟按键事件输入,以达到我们测试/验证的目的。

1.adb命令模拟Back, Home, Menu三个按键

user@swd:/local $ adb shell input keyevent 82  [Menu键]
user@swd:/local $
user@swd:/local $ adb shell input keyevent 4    [Back键]
user@swd:/local $
user@swd:/local $ adb shell input keyevent 3    [Home键]
user@swd:/local $
user@swd:/local $ adb shell input keyevent 26   [Power键]


这个后面的那个数值,可以从Android项目源码或者API文档中查询。

/frameworks/base/core/java/android/view/KeyEvent.java

2.adb monitor远程控制工具

我这便使用的时adb monitor,界面如下,鼠标点击拖拽手机屏幕映射区域即可:



工具包中共有两个文件,直接运行test.sh即可远程连接上USB已经连接的手机,以下是连接过程的一些log。

user@swd:/local/sda/adb monitor$ ll
total 332
drwxrwxr-x  2 user user   4096 Apr 11 14:28 ./
drwxr-xr-x 17 user user   4096 Apr 11 14:27 ../
-rw-------  1 user user 326390 Apr 11 14:27 androidscreencast.jar
-rwxrwxrwx  1 user user    112 Apr 11 14:28 test.sh*
user@swd:/local/sda/adb monitor$
user@swd:/local/sda/adb monitor$ ./test.sh
./test.sh: line 2: adb-4.4: command not found
Old client closed
export CLASSPATH=/data/local/tmp/InjectAgent.jar; exec app_process /system/bin net.srcz.android.screencast.client.Main 1324
[agent] Starting ...
[agent] wait Socket
[agent] New client ! Socket[address=/127.0.0.1,port=43774,localPort=1324]
[agent] wait Socket
connect to agent is successful.
succes !
[agent] writer connectOK message.
[agent] Received : pointer/10/10/0/544.0/1851.0/-1
[agent] Received : pointer/10/10/1/544.0/1851.0/-1
[agent] Received : pointer/10/10/0/554.0/1686.0/-1
[agent] Received : pointer/10/10/1/554.0/1686.0/-1
[agent] Received : pointer/10/10/0/569.0/1372.0/-1
[agent] Received : pointer/10/10/2/562.0/1359.0/-1
[agent] Received : pointer/10/10/2/562.0/1352.0/-1

工具获取连接为:
http://download.csdn.net/detail/u013398960/9810667
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: