綜述
由于原作者不再維護 Auto.js,我計劃在原來4.1版本的基礎上繼續維護項目,并將原項目命名為 AutoX.js。
歡迎更多開發者參與這個項目的維護與升級。
這篇文檔里有加密相關的內容可能和實際運行情況有沖突,我會逐步完善更新,程序代碼,盡可能保持一致。
AutoX.js 使用 JAVAScript 作為腳本語言,目前使用 Rhino 1.7.13 作為腳本引擎,支持 ES5 與部分 ES6 特性。
- 學習 AutoX.js 的 API 之前,建議先學習 JavaScript 的基本語法。
- 如果想要在電腦上開發 AutoX.js,可以使用 VSCode 以及 AutoX.js 插件。
- 如果想要使用 TypeScript 來開發,目前有開發者公布了一個 相關工具。
AutoX.js 下載地址
在 Github Releases 下載
AutoX.js 的功能
- AutoX.js 項目工程化:結合 webpack vscode 插件,開發、編譯、打包、部署、混淆、加密一體化 文檔資料
- vscode 插件右鍵,自動提示操作等 下載地址
- vscode 自動補全、方法注釋等 文檔資料
- 修復眾多 bug,升級到 5.0.1 ,合并打包插件,升級配置文件等功能
- 建設論壇、提供 交流社區
- 建設應用商店
- 提供更好的 SDK 封裝
- 支持 WebSocket
模塊
本文檔的章節大致上是以模塊來劃分的,總體上可以分成"自動操作"類模塊(控件操作、觸摸模擬、按鍵模擬等)和其他類模塊(設備、應用、界面等)。
"自動操作"的部分又可以大致分為 基于控件 和 基于坐標 的操作。
基于坐標的操作是通過指定具體的屏幕坐標,進行點擊,例如 click(100, 200) 等,這種方式在游戲類腳本中比較有可行性,結合找圖找色、坐標放縮功能也能達到較好的兼容性。但是,這種方式對于一般軟件腳本不是很高效,而且需要Android/ target=_blank class=infotextkey>安卓 7.0 以上或 root 權限才能執行。
軟件類腳本(例如:批量添加聯系人、自動提取短信驗證碼等等)我們推薦采用基于控件的模擬操作,結合通知、按鍵等達成更好的工作流。
其他模塊主要包括:
- App: 應用。啟動應用,卸載應用,使用應用查看、編輯文件、訪問網頁,發送應用間廣播等。
- console: 控制臺。記錄運行的日志、錯誤、信息等。
- device: 設備。獲取設備屏幕寬高、系統版本等信息,控制設備音量、亮度等。
- engines: 腳本引擎。用于啟動其他腳本。
- events: 事件與監聽。按鍵監聽,通知監聽,觸摸監聽等。
- floaty: 懸浮窗。用于顯示自定義的懸浮窗。
- files: 文件系統。文件創建、獲取信息、讀寫。
- http: HTTP。發送 HTTP 請求,例如 GET, POST 等。
- websocket: websocket 客戶端、服務器端,可以進行主動推送消息
- images, colors: 圖片和圖色處理。截圖,剪切圖片,找圖找色,讀取保存圖片等。
- keys: 按鍵模擬。比如音量鍵、Home 鍵模擬等。
- shell: Shell 命令。
- threads: 多線程支持。
- ui: UI 界面。用于顯示自定義的 UI 界面,和用戶交互。
除此之外,AutoX.js 內置了對 Promise 的支持。
參與共建
軟件源碼
文檔源碼
本文檔更新稍有滯后,某些模塊文檔并沒寫完,希望有開發者共同參與維護!
不用擔心你不懂,我們可以討論交流!
歡迎大家 PR ,共同參與開源!