GitHub地址:https://github.com/hyb1996/Auto.js

文档地址:https://hyb1996.github.io/AutoJs-Docs/#/?id=%E7%BB%BC%E8%BF%B0

Android软件下载:https://www.coolapk.com/apk/129872

  今天看今日头条无意间看到个蚂蚁森林自动收能量的脚本,于是打开看看安全性。

下面是代码:

 auto();
//auto.waitFor(); requestScreenCapture();
//解锁
unlock("1111");//里面是你的锁屏密码,仅支持数字解锁,并且需要点击确定键,需要点击确定键的需要自己改一下解锁函数 var friendNumber=145;//这里输入你的好友数,适当输大一点 threads.start(function(){
toast("按音量下键停止")
//启动监听
events.observeKey();
//监听音量下键
events.onKeyDown("volume_down",function(event){
toast("已停止")
exit();
}) }); //启动app
launchApp("支付宝");
waitForActivity("com.eg.android.AlipayGphone.AlipayLogin");
sleep(5000);
var w=text("蚂蚁森林").className("android.widget.TextView").findOne();
var b=w.bounds();
if(w==null){
log("null");
}
//点击蚂蚁森林
if(click(b.centerX(),b.centerY())){
//toast("点击成功");
log("点击成功");
}else{
log("点击失败");
} //收集自己的能量
sleep(5000);
//collectEnergy(); var width=device.width;
var i,j; //盲点收自己的能量
for(i=450;i<=800;){//y方向点击范围
threads.start(function(){
for(j=300;j<width-200;){//x方向点击范围
click(j,i);
j=j+150;
}
});
sleep(1000);
i=i+100;
} toastLog("收集能量完成"); //偷好友能量
sleep(3000);
stealEnergy(friendNumber); toastLog("偷能量完成"); sleep(2000); back();
sleep(2000);
back();
sleep(2000); //关闭应用,仅有root权限下有用
shell("am force-stop com.eg.android.AlipayGphone",true); exit(); //解锁函数
function unlock(password){
var a;
var b;
if (!device.isScreenOn()) {
device.wakeUpIfNeeded();
sleep(2000);
swipe(500,1000,500,100,1000);
for(var i=0;i<password.length;i++){
a=password.charAt(i);
log(a);
sleep(500);
b=text(a).findOne().bounds();
click(b.centerX(),b.centerY());
}
//需要点击确定键的可以在下面加上click(x坐标,y坐标);
toast("解锁成功");
sleep(500);
}
} //收能量
function collectEnergy(){
sleep(2000);
var i=descContains("收集能量").find().size();
toast("可以收集"+i+"个能量");
//descContains("收集能量").exists();
while(i!=0){
b=descContains("收集能量").findOne().bounds();
sleep(1000);
click(b.centerX(),b.centerY());
i--;
sleep(1000);
}
} //找好友的能量
function findFriendEnergy(){
//截图
var img = captureScreen();
//toastLog("开始找色");
//var point = findColor(img, "#1DA06D");
var point = findColorInRegion(img,"#1DA06D", 0, 0, device.width,400);
if(point){
//toastLog("x = " + point.x + ", y = " + point.y);
//点击进去偷能量
click(point.x,point.y+50);
return true;
}else{
//toastLog("没有找到");
return false;
}
} //滑动屏幕找到更多好友
function swipeScreenFirst(){ //gesture(1000,[500,1500],[500,500])
swipe(500,600,500,100,1000);
var i=5;
while(true){
if(desc("查看更多好友").exists()){
desc("查看更多好友").findOne().click();
sleep(2000);
swipe(500,500,500,278,1000);
break;
} if(i==0){
toastLog("你的好友太少无法偷取");
sleep(2000)
back();
sleep(2000);
//关闭应用,仅有root权限下有用
shell("am force-stop com.eg.android.AlipayGphone",true); exit();
} i--;
} } //滑动屏幕
function swipeScreen(){
//滑动一个好友的距离
//gesture(1000,[500,1500],[500,500])
swipe(500,500,500,290,1000); } //偷好友能量
function stealEnergy(friendNumber){
//滑动屏幕,找到查看更多好友进入到好友排行榜
swipeScreenFirst();
sleep(2000); //一个一个偷能量
while(friendNumber!=0){
if(findFriendEnergy()){
sleep(2000);
collectEnergy();
back();
sleep(1000);
swipeScreen();
}else{
swipeScreen();
sleep(1000);
} friendNumber--; } }

具体使用方式见下面录屏:

Auto.js 初试-Android开发JS利器的更多相关文章

  1. [js开源组件开发]js多选日期控件

    js多选日期控件 详情请见:http://www.lovewebgames.com/jsmodule/calendar.html 它的github地址:https://github.com/tianx ...

  2. [js开源组件开发]js手机联动选择地区仿ios 开源git

    js手机联动选择地区 前言:由于网上找到了一个mobiscrool,比较全,但是不开源,只能试用15天,正式版竟然要三千块钱,穷人只能自己动手,写了个只针对弹窗地区选择的. 本站点所有的资源均在git ...

  3. [js开源组件开发]js手机联动选择日期 开源git

    js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,ht ...

  4. [js开源组件开发]js轮播图片支持手机滑动切换

    js轮播图片支持手机滑动切换 carousel-image 轮播图片,支持触摸滑动. 例子见DEMO http://www.lovewebgames.com/jsmodule/carousel-ima ...

  5. [js开源组件开发]js文本框计数组件

    js文本框计数组件 先上效果图: 样式可以自行调整 ,它的功能提供文本框的实时计数,并作出对应的操作,比如现在超出了,点击下面的按钮后,文本框会闪动两下,阻止提交.具体例子可以点击demo:http: ...

  6. [js开源组件开发]js手机端浮层控件,并有多种弹出小提示,兼容pc端浏览器

    js dialog组件,包含alert和confirm的实现 本组件所有的资源均在github上可以查看源代码 GitHub 本dialog的组件的例子请在这里查看 demo dialog js di ...

  7. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  8. [Hybrid App]--Android混合开发,Android、Js的交互

    AndroidJs通信 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...

  9. Android开发学习之路--Java和Js互相调用

      随着前端的火热,以前开发的快速,越来越多的native app在其中融合了h5,就拿淘宝就是很多的h5组成的,一旦出现什么节日,他都可以不用通过更新app来实现界面的改变,而且android和io ...

随机推荐

  1. selenium键盘操作

    键盘操作需引用: from selenium.webdriver.common.keys import Keys 操作码表: NULL = '\ue000' CANCEL = '\ue001' # ^ ...

  2. summaryなな

    Word如果遇到有空白页不能删除的情况,将光标定位在空白页前一页的末尾,然后按Delete键就可以删除空白页了. 实时计算,强调的是实时.比如小明要查看他去年一年的消费总额度,那么当小明点下统计按钮的 ...

  3. bzoj 2308 小Z的袜子(莫队算法)

    小Z的袜子 [题目链接]小Z的袜子 [题目类型]莫队算法 &题解: 莫队算法第一题吧,建议先看这个理解算法,之后在参考这个就可以写出简洁的代码 我的比第2个少了一次sort,他的跑了1600m ...

  4. ES6学习之 解构赋值

    最近看了一个vue的项目,发现作者大量使用了ES6的语法,包括async, Promise, Set, Map还有一些解构赋值, 才发现自己对于ES6的语法缺乏了总结和运用,看得有点艰难,所以重新学习 ...

  5. 解决ConfigParser配置option的大小写问题

    通常情况下,我们会这样解析配置文件: confiig = ConfigParser.ConfigParser() config.read('xxx.ini') #这个read表示对某个文件用读打开, ...

  6. Unity之如何从fbx提取Animation clip文件

    见代码: static void CreateAnim(string fbx, string target) { AnimationClip src = AssetDatabase.LoadAsset ...

  7. C#基本知识零散总结

    C#基本知识零散总结 类的属性:(property) C#中定义属性使用的语法 public string SomeProperty { get { return "属性的值"; ...

  8. XML系列之--创建电文格式的XML(一)

    关于XML,学校那会,老师在口中仅仅提及,自己也未曾深入接触过,仅是些将最基本XML文件内容显示在web定义的表格中之类的简单操作,如今项目中的收发电文涉及到复杂XML的操作.趁此契机好好回顾下XML ...

  9. hive的find_in_set函数

    集合查找函数: find_in_set语法: find_in_set(string str, string strList) 返回值: int说明: 返回str在strlist第一次出现的位置,str ...

  10. mysql每天弹出窗口检测更新关闭方式...

    右击计算机-->管理-->系统工具-->任务计划程序-->MySQL<如下图>,选中右键删除或者禁用即可... 更新分界线--------------------- ...