美文网首页我爱编程
通过ADB启动触动精灵lua脚本

通过ADB启动触动精灵lua脚本

作者: carrys17 | 来源:发表于2018-05-28 23:43 被阅读0次

需求是这样的:在Android中启动lua脚本,该脚本是通过触动精灵来运行的。

在确保服务开启的情况下,触动精灵脚本可以通过音量键“-”来运行,所以就直接在Android中通过adb shell input keyevent 25(音量“-”键),实际发现音量虽然减小了,但是脚本却没有运行。

另外发现手动点击音量“-”键确实可以运行脚本,所以本来还想着没辙的话就得通过辅助功能来点击,但是想想虽然可以做到,但是步骤太多,有点繁琐。

最后的解决办法:
通过adb shell sendevent 的方式来实现的,首先执行adb shell进入到shell里面,通过 getevent -t 命令来看出实际的命令。

手动点击音量“-”键,观察getevent的输出,看到有4条指令,其实就是分为4步:
按下音量减->发送同步报告->抬起音量减->发送同步报告。

注意这里的数字是16进制的,如下图:

按下音量“-”的getevent事件

输出格式:
设备名: 事件type 事件code 事件value

接下来就是通过通过sentevent输入这两个命令就可以了,不过要注意的是,sendevent是十进制的。

所以还得先转为10进制,运行后发现可以启动触动精灵脚本了。

sendevent /dev/input/event2 1 114 1
sendevent /dev/input/event2 0 0 0
sendevent /dev/input/event2 1 114 0
sendevent /dev/input/event2 0 0 0

总结:

感觉adb shell input keyevent跟正常的手动点击按钮还是有点区别,或许它不够底层吧,所以用sentevent来实现。记录下这种做法,可能会有人需要~~~

相关文章

  • 通过ADB启动触动精灵lua脚本

    需求是这样的:在Android中启动lua脚本,该脚本是通过触动精灵来运行的。 在确保服务开启的情况下,触动精灵脚...

  • 触动精灵脚本框架LUA

    使用这个框架是为了解决以下问题: 1、更高效率开发 2、更专注于流程控制 我们来说下框架。 框架的意义: 框架的意...

  • Android自动化方案介绍

    一、主流方案 1、 触动精灵 Lua 脚本引擎支持 iOS Android 双平台支持 收费 适合游戏脚本开发 2...

  • 基础语法

    交互式编程 交互式编程,命令行编程 通过 lua或lua -i启动交互式编程 print() 打印 脚本试编程 将...

  • Redis 脚本

    Redis 脚本 Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua ...

  • Redis学习之路(8)命令 -Redis 脚本

    Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常...

  • 17 Redis脚本

    Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常...

  • redis 脚本介绍

    redis脚本简介   脚本使用 Lua 解释器来执行脚本。 Redis 从2.6版本开始,通过内嵌支持 Lua ...

  • 在Webstorm的terminal中以管理员权限运行命令行或脚

    同事把lua工具集成到了js项目的启动脚本里面,启动lua需要管理员权限,webstorm的terminal默认是...

  • 启动lua服务

    如何通过lua启动lua服务从skynet.newservice看起以main.lua为例,看skynet如何启动...

网友评论

    本文标题:通过ADB启动触动精灵lua脚本

    本文链接:https://www.haomeiwen.com/subject/abgnjftx.html