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