Auto.js开发小结

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

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

官方的入门文档写得比较全面,可以进行直接上手

github

文档

主页兼论坛

另外开发团队日常活跃在qq群中

答疑群:564718187

接单群:604714967

内测群:586823180

最新版本的Auto.js在内测群中才可以下载。

笔者此时使用的版本是4.0.4 alpha8,此时对外发布版本仅到了 alpha6,而文档中很多方法都是面向新版本的。因此建议大家直接申请加入内测群下载最新版本。

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

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(){
		//修改界面内容
		
    });
}

在已有UI下开启悬浮窗或控制台

在已有UI下开启悬浮窗或控制台需要新建线程来开启,如:

threads.start(function() {
	console.show();
});

UI中修改图片控件的内容

ui.id.attr(“src”,“file:///…”);

UI中清除图片控件的内容

ui.id.attr(“src”,"#00000000");

UI上下滑动滚动条

滚动条使用

<ScrollView></ScrollView>

注意大小写,只要设置好ScrollView的宽和高,如果内容超出ScrollView的显示范围,就会自动出现滚动条,可以进行滑动

打包项目

Aj的项目是以文件夹为单位的,一个项目的代码、资源文件,都应当存放在一个目录下,然后才能打包
打包具体步骤:

1.将项目文件夹拷贝至手机/sdcard/脚本/目录下
2.将入口文件重命名为main.js
3.在Aj应用中新建项目,项目名与之前拷入的文件夹同名
4.发现之前拷贝的文件夹在Aj应用中显示蓝色图标,说明建立项目成功
5.进入项目,点击右上角扳手按钮,选择右下角 勾 按钮,即可完成打包

监听横竖屏切换

主要是通过下面代码获取横竖屏状态
var status=context.resources.configuration.orientation;
在我的手机上 status=1时为竖屏 status=2时为横屏

只需要新建一个线程或定时器不断监听 status的数值即可

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐