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

需求是这样的:在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来实现。记录下这种做法,可能会有人需要~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我努力地对每个人都好,不是追求别人对我的好,这是我本性,请别多想……但是我好像忘了照顾自己的情绪,为难了自...
    真水无香eqq阅读 955评论 0 1
  • 写在前面的话:近一两年来,我的周末时间都花在了跑步上。其中原由也是很简单的,2015年元旦,我一个人回到厦门参加厦...
    黄利庆阅读 4,164评论 0 3
  • 父亲像山 一直在身后伫立着 支撑整个家 他是根基是支持是所有资源之本 他在那里 不为风雨所动 不为时间所改 有他...
    愤怒的螃蟹阅读 1,358评论 0 0