adb shell按键操作(input keyevent)
前言:input keyeven操作发送手机上常用的一些按键操作
一、keyevent事件对应数字
电话键
- KEYCODE_CALL: 拨号键
- KEYCODE_ENDCALL: 挂机键
- KEYCODE_HOME: 按键Home
- KEYCODE_MENU: 菜单键
- KEYCODE_BACK: 返回键
- KEYCODE_SEARCH: 搜索键
- KEYCODE_CAMERA: 拍照键
- KEYCODE_FOCUS: 拍照对焦键
- KEYCODE_POWER: 电源键
- KEYCODE_NOTIFICATION: 通知键
- KEYCODE_MUTE: 话筒静音键
- KEYCODE_VOLUME_MUTE: 扬声器静音键
- KEYCODE_VOLUME_UP: 音量增加键
- KEYCODE_VOLUME_DOWN: 音量减小键
控制键
- KEYCODE_ENTER: 回车键
- KEYCODE_ESCAPE: ESC键
- KEYCODE_DPAD_CENTER: 导航键 确定键
- KEYCODE_DPAD_UP: 导航键 向上
- KEYCODE_DPAD_DOWN: 导航键 向下
- KEYCODE_DPAD_LEFT: 导航键 向左
- KEYCODE_DPAD_RIGHT: 导航键 向右
- KEYCODE_MOVE_HOME: 光标移动到开始键
- KEYCODE_MOVE_END: 光标移动到末尾键
- KEYCODE_PAGE_UP: 向上翻页键
- KEYCODE_PAGE_DOWN: 向下翻页键
- KEYCODE_DEL: 退格键
- KEYCODE_FORWARD_DEL: 删除键
- KEYCODE_INSERT: 插入键
- KEYCODE_TAB: Tab键
- KEYCODE_NUM_LOCK: 小键盘锁
- KEYCODE_CAPS_LOCK: 大写锁定键
- KEYCODE_BREAK: Break/Pause键
- KEYCODE_SCROLL_LOCK: 滚动锁定键
- KEYCODE_ZOOM_IN: 放大键
- KEYCODE_ZOOM_OUT: 缩小键
每个数字与keycode对应表如下:
- 0 --> "KEYCODE_UNKNOWN"
- 1 --> "KEYCODE_MENU"
- 2 --> "KEYCODE_SOFT_RIGHT"
- 3 --> "KEYCODE_HOME"
- 4 --> "KEYCODE_BACK"
- 5 --> "KEYCODE_CALL"
- 6 --> "KEYCODE_ENDCALL"
- 7 --> "KEYCODE_0"
- 8 --> "KEYCODE_1"
- 9 --> "KEYCODE_2"
- 10 --> "KEYCODE_3"
- 11 --> "KEYCODE_4"
- 12 --> "KEYCODE_5"
- 13 --> "KEYCODE_6"
- 14 --> "KEYCODE_7"
- 15 --> "KEYCODE_8"
- 16 --> "KEYCODE_9"
- 17 --> "KEYCODE_STAR"
- 18 --> "KEYCODE_POUND"
- 19 --> "KEYCODE_DPAD_UP"
- 20 --> "KEYCODE_DPAD_DOWN"
- 21 --> "KEYCODE_DPAD_LEFT"
- 22 --> "KEYCODE_DPAD_RIGHT"
- 23 --> "KEYCODE_DPAD_CENTER"
- 24 --> "KEYCODE_VOLUME_UP"
- 25 --> "KEYCODE_VOLUME_DOWN"
- 26 --> "KEYCODE_POWER"
- 27 --> "KEYCODE_CAMERA"
- 28 --> "KEYCODE_CLEAR"
- 29 --> "KEYCODE_A"
- 30 --> "KEYCODE_B"
- 31 --> "KEYCODE_C"
- 32 --> "KEYCODE_D"
- 33 --> "KEYCODE_E"
- 34 --> "KEYCODE_F"
- 35 --> "KEYCODE_G"
- 36 --> "KEYCODE_H"
- 37 --> "KEYCODE_I"
- 38 --> "KEYCODE_J"
- 39 --> "KEYCODE_K"
- 40 --> "KEYCODE_L"
- 41 --> "KEYCODE_M"
- 42 --> "KEYCODE_N"
- 43 --> "KEYCODE_O"
- 44 --> "KEYCODE_P"
- 45 --> "KEYCODE_Q"
- 46 --> "KEYCODE_R"
- 47 --> "KEYCODE_S"
- 48 --> "KEYCODE_T"
- 49 --> "KEYCODE_U"
- 50 --> "KEYCODE_V"
- 51 --> "KEYCODE_W"
- 52 --> "KEYCODE_X"
- 53 --> "KEYCODE_Y"
- 54 --> "KEYCODE_Z"
- 55 --> "KEYCODE_COMMA"
- 56 --> "KEYCODE_PERIOD"
- 57 --> "KEYCODE_ALT_LEFT"
- 58 --> "KEYCODE_ALT_RIGHT"
- 59 --> "KEYCODE_SHIFT_LEFT"
- 60 --> "KEYCODE_SHIFT_RIGHT"
- 61 --> "KEYCODE_TAB"
- 62 --> "KEYCODE_SPACE"
- 63 --> "KEYCODE_SYM"
- 64 --> "KEYCODE_EXPLORER"
- 65 --> "KEYCODE_ENVELOPE"
- 66 --> "KEYCODE_ENTER"
- 67 --> "KEYCODE_DEL"
- 68 --> "KEYCODE_GRAVE"
- 69 --> "KEYCODE_MINUS"
- 70 --> "KEYCODE_EQUALS"
- 71 --> "KEYCODE_LEFT_BRACKET"
- 72 --> "KEYCODE_RIGHT_BRACKET"
- 73 --> "KEYCODE_BACKSLASH"
- 74 --> "KEYCODE_SEMICOLON"
- 75 --> "KEYCODE_APOSTROPHE"
- 76 --> "KEYCODE_SLASH"
- 77 --> "KEYCODE_AT"
- 78 --> "KEYCODE_NUM"
- 79 --> "KEYCODE_HEADSETHOOK"
- 80 --> "KEYCODE_FOCUS"
- 81 --> "KEYCODE_PLUS"
- 82 --> "KEYCODE_MENU"
- 83 --> "KEYCODE_NOTIFICATION"
- 84 --> "KEYCODE_SEARCH"
- 85 --> "TAG_LAST_KEYCODE"
2、实现back键。打开cmd输入指令
# 方法一: > adb shell input keyevent KEYCODE_BACK# 方法二: > adb shell input keyevent 4
3、下面封装keyevent事件放入common模块供调用
#coding:utf-8 import osclass Event():'''常用keyevent事件'''KEYCODE_HOME = 3 # home键KEYCODE_MENU = 82 # menu键KEYCODE_BACK = 4 # back键KEYCODE_POWER = 26 # power键KEYCODE_DPAD_UP = 19 # 向上KEYCODE_DPAD_DOWN = 20 # 向下KEYCODE_DPAD_LEFT = 21 # 向左KEYCODE_DPAD_RIGHT = 22 # 向右KEYCODE_NOTIFICATION = 83 # 解锁# 点击返回键 def back(keyname=Event.KEYCODE_BACK):' 执行adb keyevent事件 参数从Event类里面关联'adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 点击home键 def home(keyname = Event.KEYCODE_HOME):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 点击菜单键 def menu(keyname= Event.KEYCODE_MENU):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 按一下电源键 def power(keyname=Event.KEYCODE_POWER):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 向上滑动 def up(keyname = Event.KEYCODE_DPAD_UP):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 向下滑动 def down(keyname = Event.KEYCODE_DPAD_DOWN):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 向左滑动 def left(keyname= Event.KEYCODE_DPAD_LEFT):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# 向右滑动 def right(keyname= Event.KEYCODE_DPAD_RIGHT):adb = 'adb shell input keyevent %s' % keynameos.system(adb)# adb也可以输入文本 def input_text(text):u'adb输入是text文本,不支持中文'adb = 'adb shell input text %s' % textos.system(adb)if __name__=='__main__':back()back()
转载于:https://www.cnblogs.com/guo2733/p/10584891.html
adb shell按键操作(input keyevent)相关推荐
- android adb shell 命令操作
一:camera 1.查看是否存在camera外设,设备节点 ls /dev/video* 2.adb 查看camera详细信息 adb shell dumpsys media.camera 3.ad ...
- emmc linux.格式化参数,大家都是怎么格式化emmc芯片的?能在ADB SHELL 中操作吗?uboot 就实现了GPT分区和烧录功能...
大家都是怎能格式化emmc芯片的,我用DM3730芯片.用的是2.3.4代码 ,kernel是2.6.37 .系统外部sd启动是可以的,我加入了emmc芯片,我在uboot下分区,在uboot下把E ...
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- linux脚本红包,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包. 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红包,没有红包则暂停视频. 点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出( ...
- android js shell,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包. 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红包,没有红包则暂停视频. 点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出( ...
- 绝对稳定雷电ld.exe 替换 adb shell 教程
通常,我们通过adb操作模拟器,如安装软件.运行shell命令等,但是用windows系统,adb就经常掉线,端口被占用,或者发现不到设备,对于调试或者自动化非常痛苦.就在雷电安装目录下,他们有一个内 ...
- android js shell,使用adb shell+node.js实现抖音自动抢红包
这次给大家带来使用adb shell+node.js实现抖音自动抢红包,使用adb shell+node.js实现抖音自动抢红包的注意事项有哪些,下面就是实战案例,一起来看一下. 逻辑很简单,在抖音视 ...
- 利用adb shell和node.js实现抖音自动抢红包功能
昨天回家发现家里人都在用抖音抢红包,看了下操作逻辑,发现规律后觉得可以用软件控制点红包,于是做了以下尝试. 运行环境 node.js adb 搭建过程网上很多,就不赘述啦~ 抢红包逻辑 逻辑很简单,在 ...
- android adb shell 常用命令
adbshell.com/ adb常用命令 1.模拟点击 adb shell input tap 100 100 复制代码 2.滑动 adb shell input swipe x1 y1 x2 y2 ...
- EasyClick adb shell命令大全
EasyClick adb.shell命令大全目录 EasyClick adb.shell命令大全 ADB包安装步骤 使用教程 ADB高级命令 Android 常用的Linux命令 Android a ...
最新文章
- 录播教室预约系统(八)-客户端部门管理员增加教室
- Linux系统安装python3和创建python3虚拟环境
- 怎样实现linux的网络通信协议是,一种基于Linux系统的TCP/IP协议栈的实现
- SVN 安装与使用教程总结
- mavros常用消息类型表
- 【黑马程序员数据库】数据库基础大总结
- 每个极客都应该知道的Linux技巧
- jd页面与tianmao页面模仿jsonp跨域
- 网站流量日志数据分析系统
- rtx服务器插件的作用,腾讯通RTX手机版插件介绍 - 有度帮助中心
- Android Studio:activity界面跳转时闪退或报错:xxx keeps stopping
- 怎样查出SQLServer的性能瓶颈
- 药品市场分析怎么写?(总结归纳了20份药品报告的经验分享)
- 黑客或可完全控制设备,苹果紧急发布补丁!
- 客户管理是企业利润的根本,企业如何进行客户管理呢?
- android智能电灯,爱克 E-Light(智能灯泡)apk
- java emoji问号_java过滤emoji字符
- 在大理,有没有见到段誉?
- 如何收藏豆瓣FM中的红心歌曲
- P1967 货车运输 题解