说明
本文提供的代码仅供参考。不建议用于生产环境。
可能有些地方在最新版本的Auto.js上面需要做修改,才能运行。
Auto.js简介
Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。
Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。
推荐教程
Auto.js Pro安卓全分辨率免ROOT引流脚本开发视频教程(HD超清1080p)
开发文档
Auto.js Pro开发文档
文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。
为什么要使用Auto.js Pro开发脚本,有什么特点?
吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:
- Auto.js Pro能开发免ROOT的安卓脚本
- Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
- Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面
- Auto.js Pro使用的javascript的语法比较优雅,代码可读性强
- Auto.js Pro的命令库非常的丰富,接口比较多
- Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告
示例代码
//此代码由飞云脚本圈整理提供(www.feiyunjs.com)
"ui";
frame();
function frame() {
ui.layout(
<frame h="*" w="*" >
<relative
layout_width="match_parent"
layout_height="match_parent"
gravity="bottom|right" >
<img id="cd_0" layout_gravity="right" w="150px" h="150px" src="@drawable/ic_sentiment_satisfied_black_48dp" rotation="-90" />
<img id="cd_1" layout_gravity="right" w="150px" h="150px" src="@drawable/ic_sentiment_neutral_black_48dp" rotation="-90" />
<img id="cd_2" layout_gravity="right" w="150px" h="150px" src="@drawable/ic_sentiment_dissatisfied_black_48dp" rotation="-90" />
<img id="cd_3" layout_gravity="right" w="150px" h="150px" src="@drawable/ic_sentiment_very_dissatisfied_black_48dp" rotation="-90" />
<frame margin="11 11 0 0" bg="#ffffff" w="80px" h="80px" ></frame>
<frame >
<img id="jia" layout_gravity="bottom|right" w="150px" h="150px" src="@drawable/ic_add_circle_black_48dp" />
</frame>
</relative>
</frame>
)
let FX = true;//真 横向 假 竖向 自行用图片处理软件调整图片方向 横向 图片旋转90度 竖向 图片旋转 -90度
if (FX) {
ui.cd_0.setRotation(90);
ui.cd_1.setRotation(90);
ui.cd_2.setRotation(90);
ui.cd_3.setRotation(90);
} else {
ui.cd_0.setRotation(-90);
ui.cd_1.setRotation(-90);
ui.cd_2.setRotation(-90);
ui.cd_3.setRotation(-90);
}
//c 值是图片的半径 b,d,e值跟随c值 f值为0 展开图标的默认角度
var c = 75
let b = c, d = c, e = c, f = 0
//y 值为真时 四个选项图标才可以有效点击
//y1 等于假时代表正在展开或收起
var y = false, y1 = true;
ui.cd_0.on("click", () => {
if (y) {
toastLog("开心!")
}
})
ui.cd_1.on("click", () => {
if (y) {
toastLog("面无表情!")
}
})
ui.cd_2.on("click", () => {
if (y) {
toastLog("难过!")
}
})
ui.cd_3.on("click", () => {
if (y) {
toastLog("凉凉!")
}
})
ui.jia.on("click", () => {
threads.start(function () {
if (y1) {
y1 = false
if (y) {
for (let i = 0; i < 104; i++) {
if (i % 2) {ui.jia.setRotation(f += 6)}
ui.cd_0.setPivotY(c += 1)
ui.cd_0.setPivotX(c)
ui.cd_1.setPivotY(b += 2)
ui.cd_1.setPivotX(b)
ui.cd_2.setPivotY(d += 3)
ui.cd_2.setPivotX(d)
ui.cd_3.setPivotY(e += 4)
ui.cd_3.setPivotX(e)
sleep(1)
}
y = false
} else {
for (let i = 104; i > 0; i--) {
if (i % 2) {ui.jia.setRotation(f -= 6)}
ui.cd_0.setPivotY(c -= 1)
ui.cd_0.setPivotX(c)
ui.cd_1.setPivotY(b -= 2)
ui.cd_1.setPivotX(b)
ui.cd_2.setPivotY(d -= 3)
ui.cd_2.setPivotX(d)
ui.cd_3.setPivotY(e -= 4)
ui.cd_3.setPivotX(e)
sleep(1)
}
y = true;
}
y1 = true
}
})
})
}