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

在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源码地址中看大

---------------------

作者:白鹭飞

原文:https://blog.csdn.net/u010949962/article/details/79119871

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者hyb1996,源码Auto.js,一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。 同时有Sublime Text 插件可提供基础的在桌面开发的功能。 下载地址:酷安 Alpha版本:Releases 特性 简单易用的自动操作函数 悬浮窗录制和运行 更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用 采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用 支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用 支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅 提供截取屏幕、保存截图、图片找色等函数,可进行简单的游戏脚本制作;未来将加入找图功能 可作为Tasker插件使用,结合Tasker可胜任日常工作流 带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息 与脚本精灵、按键精灵等软件的区别是: Auto.js主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等 Auto.js兼容性更好。以坐标为基础的按键精灵脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题 Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限 尽管如此,Auto.js的大部分用户仍然是用来点赞、签到、刷游戏的:)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值