auto.js 橫評:為什麼手機自動化生態裡它是繞不開的那個選項

系统工具 ·约 8 分钟 ·記筆記的貓:團子

auto.js 是什麼

auto.js官網 是一款專為 Android 打造的腳本自動化工具——不需要 root,安裝 APK 後就能透過編寫 JavaScript 腳本來模擬點擊、滑動、文字輸入等操作,把手機上重複、繁瑣的事情自動化。從每天固定時間的 APP 簽到、社交媒體上的自動瀏覽,到自己寫一個帶圖形介面的小工具,auto.js 把原本需要 root 才能做到的事情,降低到了「裝一個 APK」的門檻。

在同類工具裡,auto.js 的定位很特別。Tasker 和 MacroDroid 這類老牌自動化應用靠的是圖形化規則引擎——拖曳條件與動作、用視覺流程拼出自動化任務,對非程式設計者友好但靈活度有限;而 auto.js 走的是一條完全不同的路:把 Android 的自動化能力直接暴露給 JavaScript 程式語言。這意味著你不僅能指定「什麼條件下做什麼事」,還能用完整的程式語言邏輯來控制流程——迴圈、判斷、函式、模組化,全都能用。對於喜歡玩機、有一點程式基礎的使用者來說,這幾乎是手機自動化領域裡最接近「全功能工具箱」的選擇。

安裝

auto.js下載 以 Android APK 形式發布,目前最新版本為 4.1.1Alpha2,安裝包約 16.95M,與大多數手機應用安裝方式相同——下載後允許未知來源安裝即可。但第一次啟動之後,有幾件事必須按順序做好,否則腳本跑起來會一片混亂。

最重要的一步是開啟無障礙服務。auto.js 的核心能力(模擬點擊、讀取控件樹)全部依賴 Android 的無障礙 API,這項權限沒開的話,幾乎所有腳本都無法正常運作。啟動 auto.js 後側拉選單第一個圖示就是無障礙狀態——灰色代表未開,點進系統設定頁找到 auto.js 的條目打開開關即可。緊接著建議也把懸浮窗權限開啟,floaty 模組、執行中按鈕、日誌面板都需要這項權限才能顯示。

安裝完成後,打開內建的「幫助中心」跟著跑一遍官方入門教學,寫一行 auto.waitFor(); toast("Hello"); 測試環境是否正常——這個最小腳本能跑,說明基礎配置沒問題;跑不動的話就回頭檢查無障礙與懸浮窗兩項權限。

auto.js 相比同類工具的三個差異化優勢

完整的程式語言等級,不是圖形規則引擎

這是 auto.js 與 Tasker、MacroDroid 之間最根本的差異。後兩者的自動化能力建立在「條件 → 動作」的固定規則模型上——你可以設定「當連上 WiFi 且螢幕關閉時,自動執行 XX」,但如果你想寫「遍歷螢幕上所有按鈕,找到文字包含『簽到』的那個並點擊,若不存在則每 3 秒重試一次,最多 10 次後跳發送通知」這種有流程控制邏輯的任務,在圖形規則引擎裡會變得異常彆扭甚至根本做不到。

auto.js 把整個 Android UI 自動化的能力封裝成一套 JavaScript API——text("簽到").click() 點擊按鈕、id("com.example:id/confirm").findOne() 找控件、auto.waitFor() 等無障礙就緒。你能用 while 迴圈、if 判斷、require() 拆分模組,寫出來的腳本就是完整的 JavaScript 程式。這對有一點程式基礎的使用者來說,靈活度的提升是質變的。

獨一無二的 APK 打包能力

打包成獨立 APK 是 auto.js 區別於幾乎所有同類工具的殺手級功能。你寫好的腳本 + 圖形介面 + 資源檔,可以直接封裝成一個獨立的 Android 應用——有自己的圖示、包名、版本號,安裝後桌面會多出一個 app 圖示,點擊直接執行,使用者甚至不需要知道 auto.js 的存在。

這個能力的實用場景遠不止自己玩:你可以寫一個每天幫自己多個平台簽到的小工具,打包成 APK 後分給朋友;或是作為公司內部的自動化工具發布給同事;甚至 Pro 版支援腳本加密打包,反編譯也看不到原始碼。反觀 Tasker 和 MacroDroid 的任務無法獨立於主應用運作——你必須先安裝那個應用才能匯入並執行任務,分發和部署都很麻煩。

成熟的電腦端遠端開發體驗

在小螢幕上手機上敲程式碼本身就是一件痛苦的事。auto.js 的社區提供了完整的 VSCode 插件——在電腦上寫程式碼、支援語法高亮與代碼補全、F5 一鍵推送到手機執行、Pro 版還支援斷點除錯。手機和電腦連同一個 WiFi 就能連接,不需要 USB 線、不需要開發者選項(雖然 ADB 連接也支援)。

這個開發流程的效率提升是巨大的。原本在手机上寫一段腳本可能要花 20 分鐘(含輸入錯誤修正、切換介面看效果),搬到 VSCode 上之後基本縮到 5 分鐘以內——程式碼補全幫你自動補完 API 名稱,Ctrl+S 存檔後 F5 直接在手机上看效果,錯誤訊息透過日誌面板即時回傳。對認真寫腳本的人來說,這項能力幾乎是必需品。

為這些優勢付出的代價

說了這麼多優點,auto.js 當然也有它的取捨。最明顯的是上手門檻——它是給有一點程式基礎的使用者設計的,如果你完全沒碰過 JavaScript,讀 API 文件時會有不少陌生語法。相比之下 Tasker 的圖形化介面確實友好,新手拖幾個方塊就能拼出一個自動化任務。不過話說回來,auto.js 的入門門檻並沒有高到學不會的程度——只要能看懂基本的 if/else 和 function,跟著社區的入門教學走一週左右就能獨立寫腳本。

第二個取捨是生態版本分裂。原版 auto.js 4.1.1 之後有一段時間更新停滯,社區陸續誕生了 AutoJs6、AutoX.js 等多個分支版本,各自有不同的 API 擴充與功能取舍。新手上來最常見的困惑就是「到底該裝哪個版本」——如果只是想快速體驗,AutoJs6(社區續作、完全免費)是現在最推薦的選擇;如果需要商業支援與腳本加密,則考慮 Pro 版。這種版本分裂雖然有點讓人頭痛,但從另一個角度來看,也說明了社區的活躍程度。

第三個取捨是某些 APP 的相容性限制。使用了最新安全防護的銀行類、支付類、遊戲類應用,auto.js 可能無法正常讀取控件樹或模擬操作——這不是 auto.js 的問題,而是 Android 系統本身對高安全應用的無障礙 API 做了限制。遇到這種情況只能退而求其次,改用座標操作或其他更底層的方式,但穩定性會下降不少。

選購結論:什麼情況下該選 auto.js

如果你符合下面兩條中的任意一條,auto.js 很可能就是你需要的:

  • 你有一點程式基礎(或願意花一週學基礎 JavaScript),想要一個能完全自訂邏輯的手機自動化工具,而不是被固定規則引擎束縛。
  • 你有把自己的腳本打包成獨立 APK 分發給他人的需求——這點同類工具裡目前只有 auto.js 做得最成熟。

如果你是純新手、完全沒碰過程式語言,只是想快速設定幾個簡單的自動化任務(比如「連上公司 WiFi 自動靜音」「充電時自動開省電模式」),那 Tasker 或 MacroDroid 的圖形化介面會更適合你——不用寫一行碼,半天就能上手。

最後的推薦語:auto.js 是手機自動化領域最像「真正開發工具」的那個選項——它不夠簡單,但夠強大;它沒有漂亮的圖形介面,但給了你寫任何邏輯的自由。對喜歡折騰手機、想把重複操作變成自動化的人來說,它的價值遠不止是一個工具。

auto.js 專案管理介面,顯示腳本編輯器與打包功能入口

本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。

團子還試過這些