温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

auto.js指的是什么意思

发布时间:2021-03-10 11:52:56 来源:亿速云 阅读:278 作者:小新 栏目:移动开发

这篇文章将为大家详细讲解有关auto.js指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

“auto.js”是个基于JavaScript语言运行在Android平台上的脚本框架,“auto.js”主要工作原理是基于辅助服务“AccessibilityService”。

Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。

与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的,这一点,挺优雅。

因为Auto.js是基于JavaScript的,学习Auto.js的API之前建议先学习JavaScript的基本语法和内置对象,可以使用avaScript教程来学习。

如果您想要使用TypeScript来开发,目前已经有开发者公布了一个可以把使用TypeScript进行Auto.js开发的工具,参见Auto.js DevTools。

如果想要在电脑而不是手机上开发Auto.js,可以使用VS Code以及相应的Auto.js插件使得在电脑上编辑的脚本能推送到手机运行,参见Auto.js-VSCode-Extension。

自动操作"的部分又可以大致分为基于控件和基于坐标的操作。基于坐标的操作是传统按键精灵、触摸精灵等脚本软件采用的方式,通过屏幕坐标来点击、长按指定位置模拟操作,从而到达目的。例如click(100, 200), press(100, 200, 500)等。这种方式在游戏类脚本中比较有可行性,结合找图找色、坐标放缩功能也能达到较好的兼容性。但是,这种方式对一般软件脚本却难以达到想要的效果,而且这种方式需要安卓7.0版本以上或者root权限才能执行。所以对于一般软件脚本(例如批量添加联系人、自动提取短信验证码等等),我们采用基于控件的模拟操作方式,结合通知事情、按键事情等达成更好的工作流。

在开发文档之外,个人遇到的问题,在此处记录

UI线程中循环语句循环多次后报错

Auto.js(以下简称AJ)要修改界面的属性,需使用

ui.run(function(){
        //TODO
});

在函数内不建议使用大量的逻辑代码,应尽量只包含少量的修改UI的代码。否则就会报错

Only the original thread that created a view hierarchy can touch its views.

比如像这样的代码,是很有可能出问题的

ui.run(function(){
    for(var i=0;i<len;i++){
		//数据准备操作
		//修改界面内容
	}
});

应当改成:

 for(var i=0;i<len;i++){
	//数据准备
	ui.run(function(){
		//修改界面内容
		
    });
}

关于“auto.js指的是什么意思”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI