在android 上运行lua脚本,但是想用lua脚本的方式去实现自动按键的效果的话就得拓展lua关键字;我是直接在 AndroLua的基础上拓展的。很多人说为什么不用adb,adb只能实现简单的指令,不能实现取色找图效果,因此要实现高级指令的话,必须用C/C++实现,直接操作底层的设备驱动文件,而且adb指令也不能做到远程下发实现集控效果,因此要想自己的项目在移动端自动化里面起点站的更高一点的话,通过实现底层函数去拓展lua是最好的选择,就比如按键精灵一样

下面就介绍如何拓展lua关键字,我主要是参考lua的os.time()函数,在文件loslib.c我们可以看到os系列函数的定义实现如下图:

通过luaopen_os函数我们可以 知道该调用将会注册os函数族,那么在lua脚本中就可以使用os...函数了。往下我们看看luaopen_os()函数是在哪里被调用的,全局搜找到init.c文件中如下:

luaL_openlibs()函数统一调用了一些列的函数注册方法,使得所有的lua模块都生效,而在项目AndroidLua中在java层就调用openLibs()方法,这个最终会通过JNI调用到luaL_openlibs()函数。到这里就可以按照上面的思路去拓展我们的lua关键字,在上图中我已经加了个luaopen_system()函数,下面是这个函数的注册列表

编译成功后我们就可以在lua脚本中使用system.x()系列的函数了

上面的system系列函数主要是用于实现类似按键精灵的效果,要运行的话先要root手机获取最高权限,效果图和源码地址:

https://github.com/MHuangXin/AndroidLua.git

下面的脚本将会模拟点击屏幕三次,按下音量-键,按返回键,按菜单键,按home键,点击屏幕顶部下滑,

因为这是写在代码中的所以有很多双引号和换行符,我们也可以写在.lua文件中通过dofile运行脚本,效果图可以在github源码地址中看大

Android拓展 lua实现类似按键精灵效果相关推荐

  1. android 类似按键精灵脚本_Android拓展 lua实现类似按键精灵效果

    在android 上运行lua脚本,但是想用lua脚本的方式去实现自动按键的效果的话就得拓展lua关键字:我是直接在 AndroLua的基础上拓展的.很多人说为什么不用adb,adb只能实现简单的指令 ...

  2. 【新人求助】苹果允许开发者制作类似按键精灵的app吗?

    环境:ios.不越狱 我在网上搜了一下发现了一个app叫触摸精灵,但是貌似需要越狱才能使用,所以想问问大神们,苹果允许开发者制作类似按键精灵的app吗?如果我申请成为开发者,然后做一个类似按键精灵的a ...

  3. android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  4. Android 一种通用的按键精灵的实现思路

    转载请注明出处:校酷网-大学生菁英创业平台 实现按键精灵的思路主要有三种: 1.AccessibilityService辅助类,这个类是设计用来帮助残障人士使用android 手机的,我们可以利用它实 ...

  5. 懒人精灵(一款类似按键精灵的工具)如何制作和导出lua加密插件

    下面是整个流程如果有什么不懂可以加群785554238,里面有最新的版本和相关最新的脚本例子以及插件 1.如果没有安装先从此处下载安装包 https://share.weiyun.com/chGtVA ...

  6. Android用代码模拟系统物理按键长按操作(类似按键精灵)

    今天同事的朋友提出一个需求,问能不能帮忙写个程序模拟他手机上长按返回键的操作.因为他手机屏幕部分区域失灵,想启用单手模式来使用手机,但是物理触控按键也失灵了.无法通过长按返回触发单手模式.由于之前没做 ...

  7. 懒人精灵(一款类似按键精灵的工具)制作和使用C/C++编写的插件

    下面是整个流程如果有什么不懂可以加群785554238,里面有最新的版本和相关最新的脚本例子以及插件 1.如果没有安装先从此处下载安装包 https://share.weiyun.com/chGtVA ...

  8. python 按键精灵 离线_python,PyAutoGUI,自动操作鼠标键盘,类似按键精灵

    三个文件需在同一个文件夹下面,文件夹的位置无要求. 1.第一个文件,trial.py,python代码调用PyAutoGUI操作鼠标键盘.可以通过修改start_time和end_time来确定程序自 ...

  9. autojs长按坐标没反应_Auto.js 一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件...

    新增 插件(将提供OCR插件) 新增 images图片处理函数(参见<图片处理>示例),灰度化二值化高斯模糊等 优化 找图找色的内存泄漏 修复 偶发getClip()报错问题 修复 从QQ ...

最新文章

  1. 空气球+操作系统,海尔智能家居雄心何在?
  2. Java 代理(proxy)模式
  3. 《实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)》
  4. 使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行
  5. mysql5.7 glibcxx_3.4.15_Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
  6. spring 配置jdbc/hibernate/jpa
  7. pdf导入ps颜色太浅_PDF 文件编辑转换难?或许你需要一个扫描全能王!
  8. 领域应用 | ​英文抗生素药物医学知识图谱 IASO1.0 版发布 线上试用正式启动
  9. scm中mysql作用_scm项目问题
  10. 2018年软件评测师备考之路
  11. excel表格内容合并的操作方法
  12. 信息安全基础练习题(看完包过)
  13. 12306对抢票软件“下手”了
  14. 具有定时功能的八路数显抢答器的设计
  15. oracle查询访问记录,oracle 访问 记录
  16. js的lambda表达式
  17. 程序员健康指南 真的很受用
  18. 分享一个600块钱的Python私活单,金融Excel数据清洗
  19. 微软发布会精华回顾:“台式电脑”抢了风头
  20. windows命令之tcping安装和使用

热门文章

  1. 盘点2010年IT业界十大囧事 iPhone居首
  2. 重启资源管理器导致托盘图标消失的解决方法
  3. Jodd:一个非常好用易上手的开源 Java 微框架
  4. echarts 省市区县地图展示
  5. vue 数组中嵌套数组_vue数组嵌套数组的问题
  6. Java怎么搞安卓日历提醒,Android日历有闹钟提醒功能记事功能等
  7. EMC Data Domain 存储系统的日常健康检查
  8. ios-马甲包混淆方法
  9. BIM模型文件下载——某历史博物馆Revit模型
  10. et200sp系统服务器模块,ET200SP选型,DI模块之间的区别-工业支持中心-西门子中国...