什么是autojs?能干什么?
首先來說什么是autojs呢?autojs是Android平臺上支持Node.js的JavaScript自動化工具,是基于無障礙服務可直接指定控件進行操作的的App。
那么它具體能干什么呢?
官方的說法:
1、數(shù)據(jù)監(jiān)控:可以監(jiān)視當前手機的數(shù)據(jù)。
2、圖片監(jiān)控:截圖獲取當前頁面信息。
3、控件操作:模擬操作手機控件。
4、自動化工作流:編寫簡單的腳本,完成一系列自動化操作。
5、定時功能:執(zhí)行某個腳本,來完成定時任務
通俗易懂的說法:
1、可以幫我們收螞蟻森林的能量
2、可以幫我們搶茅臺
3、自動搶??
...
怎么使用呢?
下載及安裝
Auto.js一共有兩個版本,一個是已停止更新的4.1.1,一個是仍在更新的8.7-pro版本。
4.1.1是免費的,免費的已經(jīng)不維護了,繼續(xù)迭代的是收費的。兩者差別不大,我們做一些自動化的東西用免費的功能就足夠了~
下載后,直接如普通app那樣安裝即可。安裝后,打開無障礙服務,懸浮窗(使用自帶的工具),連接電腦(使用vscode);如下界面所示:
tips:連接電腦可能會有失敗的情況,確認連的是一個局域網(wǎng)且輸入電腦的ip

打開要分析的app
如下圖

點擊第三個

1.布局范圍分析
選擇具體要查看的控件信息
詳細的內(nèi)容,這里要注意的是如果clickable是false是不可以點擊的
生成代碼,選擇要執(zhí)行的操作

2.布局層級分析

以上就是基本功能,介紹完基本功能之后我們進入正題。
實操
腳本網(wǎng)上有很多,可以自己找有能力的也可以自己寫
開發(fā)方式有兩種,1、使用vscode編輯器開發(fā);2、可以直接在app里寫代碼;
vscode編輯器開發(fā)
1.打開vscode 安裝 Autojs-VSCodeExt插件

2.打開vscode控制面板(command+shift+p)執(zhí)行Auto.js Start Server之后右下角會提示連接成功

vscode autojs命令說明
Start Server: 啟動插件服務。之后在確保手機和電腦在同一區(qū)域網(wǎng)的情況下,在Auto.js的側(cè)拉菜單中使用連接電腦功能連接。
Stop Server: 停止插件服務。
Run 運行當前編輯器的腳本。如果有多個設備連接,則在所有設備運行。
Rerun 停止當前文件對應的腳本并重新運行。如果有多個設備連接,則在所有設備重新運行。
Stop 停止當前文件對應的腳本。如果有多個設備連接,則在所有設備停止。
StopAll 停止所有正在運行的腳本。如果有多個設備連接,則在所有設備運行所有腳本。
Save 保存當前文件到手機的腳本默認目錄(文件名會加上前綴remote)。如果有多個設備連接,則在所有設備保存。
RunOnDevice: 彈出設備菜單并在指定設備運行腳本。
SaveToDevice: 彈出設備菜單并在指定設備保存腳本。
New Project(新建項目):選擇一個空文件夾(或者在文件管理器中新建一個空文件夾),將會自動創(chuàng)建一個項目
Run Project(運行項目):運行一個項目,需要Auto.js 4.0.4Alpha5以上支持
Save Project(保存項目):保存一個項目,需要Auto.js 4.0.4Alpha5以上支持
3.創(chuàng)建文件夾
執(zhí)行 Auto.js New Project 會自動生成main.js及project.json文件。然后在main.js中寫自己的腳本;如下:
要顯示來自Auto.js的日志,打開 VS Code上面菜單的"幫助"->"切換開發(fā)人員工具"->"Console"即可。
//淘寶簽到為例 定義簽到方法
function signIn(){
//打開手機App
launchApp('淘寶');
sleep(1500);
//進入 我的界面
className("android.widget.FrameLayout").desc("我的淘寶").findOne().click();
sleep(1500);
//進入簽到界面
className("android.widget.FrameLayout").desc("領(lǐng)淘金幣").depth(16).findOne().click();
sleep(1500);
//領(lǐng)取淘金幣
className("android.view.View").text("今日簽到").findOne().parent().child(0).click();
}
//檢查無障礙服務是否啟動,若沒有則跳轉(zhuǎn)到無障礙服務啟動界面,并等待;當服務啟動后腳本繼續(xù)運行
auto.waitFor();
//調(diào)用簽到方法
signIn();
4.運行
執(zhí)行Auto.js Run On Device就可以運行啦~
如果需要多臺設備運行執(zhí)行 Auto.js Save
5.定時執(zhí)行
腳本最右邊點擊更多,選擇定時執(zhí)行、或者在腳本中寫;

