起因
最近博主迷上了偷能量(蚂蚁森林),后来发现一好友每天定点来博主森林偷能量,很准时
大家发现没,每天都是7.16分准时来偷,每天!因为博主的能量是7.16分成熟~
本来博主呢,以前也用过这些方法,发现不太好是吧~
原理分析
蚂蚁森林本身是一个webview,调用某些参数、机制即可实现自动收能量
具体请移步吾爱大神的帖子:
实现方式
一、不Root方式-使用Auto.js
软件界面如图,下载请去应用市场(酷安可以下载)
一个**不需要Root权限**的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。用于编写软件和游戏脚本,解放双手,轻松完成日常自动化工作流任务。
注意:这里的不需要Root权限指的是一般软件,**游戏的自动点击等是需要Root权限或者安卓7.0+的**。:
特性:
*筒单易用的自动操作函数
*悬浮窗录制和运行
*更专业&强大的选择器API,提供对屏幕_上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测 试框架UiAutomator,您也可以把他当做移动版U|测试框架使用
*采用javaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一-个JavaScript IDE使用
*支持使用e4x编写界面,并可以将JavaScript打 包为apk文件,您可以用它来开发小工具应用
*支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅
* 提供截取屏幕、保存截图、找图找色等函数,可进行简单的游戏脚本制作
*可作为Tasker插件使用,结合Tasker可胜任日常工作流
*带有界面分析工具,类似Android Studio的L ayoutInspector,可以分析界面层次和范围、获取界面上的控件信息
使用该软件可以实现定时收能量,一键收能量等等~
附上脚本:
//默认分辨率为1280*720
//获取手机分辨率
var _width = device.width
var _height = device.height
var zoomX = _width / 720
var zoomY = _height / 1280
//判断电量是否充足
function power()
{
if (device.isCharging()) {
return true
} else {
if (device.getBattery() > 20) {
return true
} else {
toastLog("电量不足")
return false
}
}
}
//判断时间是否合适
function time() {
var da = new Date();
var minutes = da.getMinutes();
var hours = da.getHours();
var time_ = hours * 60 + minutes - 420;
if (time_ >= 0 && time_ <= 30) {
return true
} else {
return false
}
}
//判断是否亮屏,并划开屏幕
function unlock() {
if (!device.isScreenOn()) {
device.wakeUp();
sleep(500);
swipe(_width * 0.5, _height * 0.8, _width * 0.5, _height * 0.2, 200);
}
}
//创建多线程对象,按键监听,按下返回键结束脚本
function over() {
threads.start(function() {
events.observeKey();
events.on("back", function(events) {
toast("退出收集");
exit();
});
});
}
//返回支付宝首页
function backHomePage() {
launchApp("支付宝");
sleep(1000);
while (!className("android.widget.TextView").text("首页").exists()) {
back();
sleep(1000);
};
var bhp = className("android.widget.TextView").text("首页").findOne().bounds()
click(bhp.centerX(), bhp.centerY());
click(bhp.centerX(), bhp.centerY());
sleep(500);
}
//进入蚂蚁森林
function enterForest() {
textEndsWith("蚂蚁森林").findOne(10000);
if (!textEndsWith("蚂蚁森林").exists()) {
toastLog("出错");
backHomePage();
main();
exit();
}
click("蚂蚁森林");
descContains("合种").findOne(20000);
if (!descContains("合种").exists()) {
toastLog("出错");
backHomePage();
main();
exit();
}
sleep(2000);
}
//收集自己能
//点击能量球
//进入排行榜
function enterRank(desc) {
if (descContains("查看更多好友").exists()) {
while (descContains("查看更多好友").exists()) {
var rank = descContains("查看更多好友").findOne(5000).bounds();
if (rank.centerY() > _height) {
swipe(_width * 0.5, _height * 0.8, _width * 0.5, _height * 0.2, 1000)
} else {
break
}
sleep(500);
};
sleep(1000);
click(rank.centerX(), rank.centerY());
} else {
toastLog("出错");
backHomePage();
main();
exit();
}
sleep(2000);
}
//判断可收取的好友返回y坐标
//循环执行
function main() {
var n = 0
while (power()) {
launchApp("支付宝");
enterForest();
myEnergy();
enterRank("上校");
collect();
n += 1;
toastLog("收集完成" + n);
if (time() && power()) {
back();
sleep(1500);
back();
sleep(1500)
} else {
back();
sleep(1000);
back();
sleep(1000);
back();
break;
}
}
}
unlock();
auto.waitFor();
requestScreenCapture();
over();
toast("启动支付宝");
main();
exit();
二、使用Xposed框架
1.Root装Xposed(更稳定)
2.这里安装不做介绍,推荐另外一个不用框架实现框架模块功能的软件(免Root)点基此处跳转公众号文章查看
安装好之后,渡劫下你的支付宝(博主不保证安全,但是在绝对程度来说是安全的),大家便可以安装相关的模块啦
什么防撤回,什么运动加速,什么一键收能量,应有尽有!!!