Auto.js 是一個可以實現自動化的Android App
我們先說下他能幹啥,官方的說法
數據監控:可以監視當前手機的數據。
圖片監控:截圖獲取當前頁面信息。
控件操作:模擬操作手機控件。
自動化工作流:編寫簡單的腳本,完成一系列自動化操作。如:微信/QQ自動點贊,快速搶單等。
定時功能:定時執行某個腳本,來完成定時任務。如:定時打卡簽到等。
腦子一轉想一想它可以這麼幹:
自動收集螞蟻森林能量
百度貼吧一鍵簽到
東方頭條,趣頭條自動刷金幣
前段時間雙11淘寶的貓貓幣
抖音自動加人
自動搶個紅包啊,自動識別內容
女朋友微信消息提醒實力脫單
。。。。
更多的想法就靠大家發掘啦
那麼他是如何做到的呢?安不安全。
首先聲明下我也是程序員,在實驗寫腳本等過程中瞭解了原理,是可靠的。他是一個支持無障礙服務的Android平臺上的JavaScript IDE,可以編寫各種自動化腳本,比如上面那些能搞點小錢的想法。
首先它無需root,可以自動實現點擊,滑動,輸入文字,打開應用,root的權限以及能力就不多說了吧, 他是以控件爲基礎的,做Android開發最能體會適配的痛啊。
接着他如何用呢?
至於軟件和腳本,別急下方會留的,貼心的我還幫忙找到並且甄選了優質的視頻教程昂。
App安裝在手機上打開,會提示打開無障礙服務,去開啓即可。
ps:無障礙服務是一個應用程序,它給有殘疾的用戶或暫時無法與設備完全交互的用戶提供了更好的無障礙用戶交互功能。 做開發的應該部分人開發過。
功能如圖,目前我也在用這個,玩起來很得勁兒
舉個栗子
編輯腳本,比如自動領個京東金幣
function start(text,count){
for(var t=0;t<count;t++){
textContains(text).findOne().click();
sleep(5000);
for(var i=0;i<3;i++){
var enter = textContains("看見了,看見了").findOnce(0);
if(enter==null){
back();
sleep(1000);
}else{
textContains("看見了,看見了").findOne().click();
break;
}
}
sleep(3000);
}
toast(text + "執行" + count + "次,success~");
}
toast("start");
start("逛逛好店",25);
start("精彩會場",3);
start("精選好物",25);
//往下滑動一下,如果標籤一頁顯示不全,把這行註釋打開
//swipe(device.width / 2, 4*device.height/5, device.width / 2, device.height/5,1000);
start("更多好玩互動",4);
start("京品推薦",4);
toast("end");
或者螞蟻森林能量
auto.waitFor();
var height = device.height;
var width = device.width;
// toast("\n設備寬" + width + "\n" + "設備高" + height + "\n" + "手機型號" + device.model + "\n安卓版本" + device.release);
if (!requestScreenCapture()) {//請求截圖權限
toast("請求截圖失敗");
exit();
}
sleep(560);
//打開支付寶
toast("打開支付寶");
launchApp("支付寶");
sleep(1000);
toast("打開螞蟻森林");
//打開螞蟻森林
if (text("螞蟻森林").exists()) {
text("螞蟻森林").findOne().parent().parent().click();//找到螞蟻森林文本的父父元素(這個元素可以點擊,文本控件不可以點擊,能否點擊看控件的 clickable是否爲true)
sleep(2000);
toast("開始收能量");
GatherP();
} else {
toast("請把螞蟻森林放到首頁");
exit();
}
sleep(500);
text("查看更多好友").findOnce().click();//點擊好友排行榜
sleep(1500);
//到好友排行榜頁面
//判斷有沒有可以偷能量的好友
FindFriendP();
toast("結束");
function GatherP() {
sleep(3000);
//澆水 sleep(3000);
/*
if (text("澆水").exists()) { //判斷有沒有澆水 原來澆水用的自己的能量啊~~天啊 趕緊去掉這個功能
var Water = text("澆水").findOne(600).bounds();
click(Water.centerX(), Water.centerY());
sleep(1000);
}
*/
if (textStartsWith("收集能量").exists()) {//判斷是否存在能量球
textStartsWith("收集能量").find().forEach(function (e) {
var pos = e.bounds(); //能量球座標範圍
click(pos.centerX(), pos.centerY() - 70);//點擊能量球座標範圍中心點
sleep(500);
})
} else {
toast("沒有可收集的能量.");
}
}
function FindFriendP() {
//可偷能量顏色 #17a26e
//可偷能量圖片地址 [img]https://s2.ax1x.com/2019/10/24/KUwlM8.jpg[/img]
//尋找可偷的好友
for (var i = 1; i < 8; i++) { //好友多的話 把4加大
var img = captureScreen();
//循環找可以偷能量的好友座標
//在該圖片中找 可偷能量圖片
sleep(500);
//從網上下載 可偷能量圖片 用作識圖
var img = captureScreen();
//循環找可以偷能量的好友座標
//在該圖片中找 可偷能量圖片
sleep(500);
//從網上下載 可偷能量圖片 用作識圖
var shou = images.load("https://s2.ax1x.com/2019/10/24/KUwlM8.jpg");
sleep(1000);
images.save(shou, "/sdcard/shou.jpg");
if (shou == null) {
toast("加載圖片失敗");
exit();
}
var point = findImage(img, shou, {
region: [width - 380, 200, 380, height - 200],
threshold: 0.7
})
sleep(500);
if (point) {
toast("找到啦:" + point);
click(point.x - 10, point.y + 10);
GatherP(); //收能量
sleep(500);
back();
sleep(1000);
} else {
toast("沒找到");
swipe(width / 2, height - 600, width / 2, 0, 1000);
sleep(950);
}
}
}
function StopS() {
events.observeKey();//啓用按鍵監聽
events.onceKeyDown("volume_down", function () {
toast("關閉腳本");
exit();
})
}
後記
其他一些腳本(比如自動薅羊毛)可在下方信息獲取
啊,對了,推薦在App的設置裏打開音量鍵停止所有腳本,不然不小心代碼寫出個死循環,那就很“開心”了。
再多的介紹就不說啦,自己發揮想象力,說不準能獲取意外收穫呢
後臺回覆:autojs,獲取軟件以及腳本下載。
▼
往期精彩回顧
▼
回覆【軟件集合】,獲取軟件大集合
回覆【Android資源】,獲取Android教程
回覆【Python資源】,獲取Python教程
回覆【Unity3D資源】,獲取遊戲開發教程
回覆【211/985資源】,獲取高校課程
回覆【運營】,獲取公衆號、抖音運營課程
回覆【 淘客返利源碼學習】,獲取淘寶返利機器人源碼
在看點這裏