驗收單 · 2026-10-22 · 约 10 分钟
auto.js 自動化腳本開發速查問答
| 軟體 | auto.js | 分類 | 系统工具 |
|---|---|---|---|
| 版本 | 4.1.1Alpha2 | 體積 | 16.95M |
| 開發方 | 暂无资料 | 狀態 | 已歸檔 |

auto.js 是什麼、能幹嘛、適合誰
auto.js 是一款無需 root 就能直接上手的 Android 自動化腳本工具,透過系統的無障礙服務讀取螢幕控件樹,再用 JavaScript 腳本模擬點擊、輸入、滑動等操作。社群裡最常見的用途包括:每日定時自動簽到、表單批量填寫、重複操作流程的一鍵完成、跨應用的資料轉移,甚至有人用它來搭自己的手機版爬蟲。
適合誰?三類人最容易上手:第一類是對 JavaScript 已有基礎的開發者——直接就能寫腳本;第二類是喜歡玩機的資深安卓用戶,對控件、包名這些概念本來就不陌生;第三類是工作上有大量重複點擊操作的人,比如每天要在十幾個 APP 裡打卡、填表、搬資料,用 auto.js 能把幾分鐘的手動操作壓縮到幾秒。當然,它不是萬能:受無障礙服務的限制,部分 APP 會對自動化做防護,遇到這種情況得繞路或放棄。
安裝
auto.js下載 的安裝包是 Android APK,目前最新的穩定分支到 4.1.1Alpha2,安裝包大約 16.95M,直接在手機上點開就能走標準 APK 安裝流程。安裝前需要注意兩件事:一是手機系統版本,auto.js 主要支援 Android 7.0 以上的機型,舊系統可能會在後續權限請求階段報錯;二是部分國產 ROM(MIUI、ColorOS 等)在首次啟用無障礙服務時,會強制跳轉到系統設定頁手動確認,這一步不能跳過,否則腳本啟動後會卡在「等待權限」狀態。
安裝完成後第一次打開 APP,會彈出三個必須配置的權限:無障礙服務(核心,不開啟就讀不到控件樹)、浮窗權限(用於顯示懸浮工具球)、後台自啟動(防止系統清理進程)。這三個權限都必須在系統設定裡手動開啟,auto.js 本身不會幫你自動申請。權限都開完之後,建議先跑一段官方自帶的示範腳本確認環境正常——如果示範腳本都跑不起來,多半是某個權限沒開好,回去逐一檢查就好。
速查問答
以下把新手最常問的幾個問題整理成速查格式,答案直接給結論。
auto.js 和 tasker 有什麼區別?該選哪個?
結論:要寫 JavaScript 選 auto.js,要圖形化規則選 Tasker。auto.js 的核心優勢是腳本語言靈活度高——控件選擇器、條件判斷、迴圈、函式都能寫,複雜邏輯很好處理;Tasker 則是用圖形化的「動作+觸發條件」堆疊出流程,不用寫代碼,但邏輯一複雜就難維護。兩者的使用門檻也不同:auto.js 要求會點 JavaScript,Tasker 只要會拖拉元件。如果你兩者都沒接觸過,建議從 auto.js 開始——寫腳本的能力是可遷移的,以後遇到更複雜的自動化需求也不會卡住。
控件選擇器怎麼寫才不會出錯?
結論:優先用 id(),其次 text(),盡量別用 className() 獨立選擇。auto.js 提供三種主要選擇器:按資源 ID 選、按顯示文字選、按控件類名選。ID 最穩定——只要 APP 內部沒改版式就不會變;文字選擇器在動態內容 APP(比如滑動載入的清單頁)上容易失效;類名精度最低,單獨使用時可能一次匹配到多個同類型控件。實戰裡最常見的組合是 id("btn_submit").text("確認").click(),用多個條件交叉限定就能大幅降低誤點率。另外,寫選擇器之前最好先用內建的「佈局分析器」懸浮窗看一下當前螢幕的控件樹結構,直接從那裡複製屬性值比自己猜靠谱得多。

腳本裡怎麼知道執行到哪一步了?
結論:三種輸出方式搭配用——log() 看執行流、toast() 給用戶回饋、console.log() 做遠端除錯。log() 會把訊息寫進 auto.js 內建的「日誌」面板,開啟後能看到完整的執行順序,適合開發時追蹤流程;toast() 在螢幕底部彈一個 2~3 秒的提示條,適合在關鍵節點給最終用戶一個視覺回饋(比如「簽到完成」);console.log() 則是配合 VSCode 外掛做遠端除錯時用的,能在電腦端的除錯控制台看到結構化的輸出。如果是本地調試,建議在腳本開頭加一行 verbose(true),這樣選擇器的匹配過程也會被完整打印出來,出錯時一眼就能看到卡在哪一步。
怎麼啟動另一個 APP 並等待它載入完成?
結論:用 launchPackage() 啟動,再用選擇器的 waitFor() 確認目標控件出現。launchApp("應用名") 雖然方便,但應用名可能因語言設置或版本變動而失效;更推薦用 launchPackage("com.example.app") 包名方式啟動,穩定得多。啟動之後不能馬上操作——APP 需要時間載入頁面,正確做法是用一個該 APP 首頁上必然存在的控件做為「就緒信號」,比如 id("com.taobao.taobao:id/rl_search").waitFor(10000),最多等 10 秒,等搜索框出現再繼續後續操作。如果超時還沒出現,多半是 APP 卡在啟動頁或彈出了廣告,腳本可以做一層錯誤處理:超時後執行一次 back() 關掉彈窗,再重試一次等待。
中文輸入怎麼處理才不會丟字?
結論:長文本用 clipboard.set() + paste() 貼上,短字段用 setText() 設置焦點輸入框。auto.js 的 setText() 會直接把文字塞給當前獲得焦點的輸入框,速度最快,但有些帶驗證碼保護的輸入框會拒絕這種方式;input() 則是模擬鍵盤逐字敲入,兼容性更好但速度慢、長文本容易丟字。實戰裡最穩妥的方案是:先點擊目標輸入框讓它獲得焦點,然後用 clipboard.set("你要填的長文本") 把內容寫進剪貼簿,最後調用 paste() 執行貼上——這種方式繞過了輸入法層,無論什麼語言什麼長度都能一次性準確輸入。
auto.js 會被封號嗎?怎麼降低風險?
結論:官方不對任何後果負責,但合理使用下大部分場景是安全的。auto.js 本身只是模擬無障礙操作,理論上和真人點擊沒有本質區別,不過部分 APP 會監控無障礙服務的使用行為,識別出腳本模式後可能觸發風控。降低風險的幾個實用做法:一是在操作之間加合理的 sleep() 間隔,不要毫秒級連點;二是每次執行前用 device.width / device.height 隨機化點擊坐標,不要每次都點同一個像素;三是控制執行頻率,同一個動作一天跑幾次沒問題,但一小時跑幾百次就太明顯了。最後一條底線:涉及金錢、虛擬資產的操作,建議先在小額場景下驗證腳本穩定性,確認沒問題再放大規模。
腳本寫完怎麼部署到其他手機上跑?
結論:把 .js 文件複製到目標手機的 auto.js 腳本目錄,或打包成獨立 APK。最簡單的方式是直接把 .js 文件丟到 /sdcard/Scripts/ 目錄,目標手機打開 auto.js 就能在腳本列表裡看到並執行;如果想做成給不懂技術的朋友用的成品,auto.js Pro 支援把腳本打包成獨立 APK,打開 APK 就能跑腳本,不需要再安裝 auto.js 本體。兩者的取捨:腳本文件模式維護方便、改了就能同步更新;打包 APK 則部署方便但每次改代碼都要重新打包。大部分場景下,維護成本遠大於部署成本,建議優先用腳本文件模式。
值不值得長期使用?
值得。auto.js 是目前 Android 平台上自動化腳本生態最活躍的工具之一,社群貢獻了大量實用腳本和教學資源,對喜歡玩機或有重複操作需求的人來說,它的回報率很高——一次投入學習成本,之後幾年都能反復省下大量手動操作時間。當然,如果你的需求只是偶爾自動簽到一次,那用 Tasker 或系統自帶的自動化功能可能更省勁;但只要你能預見未來會有越來越多重複操作的場景,現在就花幾小時把 auto.js 學會,絕對是一筆划算的投資。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。