61 KiB
語言 (Languages)
當前自述文件 README.md 支持以下語言:
- 简体中文 [zh-Hans]
- 繁體中文 (香港) [zh-Hant-HK] # 當前
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es]
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar]
簡介
Auto.js 是一款 Android 平台支持 無障礙服務 的 JavaScript 自動化工具軟件.
Auto.js 由 hyb1996 於 2017/01/27 初次發佈, 於 2020/03/13 停止維護, 最終版本名稱為 4.1.1 Alpha2, 構建版本號為 461.
AutoJs6 在 Auto.js 最終項目的基礎上, 於 2021/12/01 進行二次開發, 繼續保持開源免費.
下表列舉了部分 Auto.js 相關項目 (按開發日期排序):
| 項目 | 應用名稱 | 主要開發者 | 開發日期 | 終止開發日期 | 活躍維護期 (年) |
|---|---|---|---|---|---|
| Auto.js | Auto.js | hyb1996 | 2017/01/27 |
2020/03/13 |
3.13 |
| Auto.js Pro 7 | Auto.js | hyb1996 | 2019/03/13 |
2019/07/08 |
0.32 |
| Auto.js Pro 8 | AutoJsPro | hyb1996 | 2019/10/13 |
2021/07/24 |
1.78 |
| Auto.js | Auto.js M | TonyJiangWJ | 2019/11/21 |
- | < 6.32 > |
| AutoX | Autox.js | kkevsekk1 | 2020/07/24 |
[ 2025/01/07 ] |
4.46 |
| Auto.js Pro 9 | AutoJsPro | hyb1996 | 2021/03/28 |
2023/02/09 |
1.87 |
| AutoJs6 | AutoJs6 | SuperMonster003 | 2021/12/01 |
- | < 4.28 > |
| autojs4 | Auto.js | blackcd318 | 2021/12/15 |
2023/07/31 |
1.62 |
| AutoX | Autox.js v6 | wilinz / aiselp | 2022/05/26 |
[ 2025/01/07 ] |
2.62 |
| openautojs | OpenAuto.js | openautojs | 2023/02/17 |
2023/04/16 |
0.16 |
| AutoJs4 | AutoJs4 | SuperMonster003 | 2023/04/11 |
- | < 2.93 > |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
- | < 1.90 > |
| Autoxjs_v6_ozobi | Autox.js v6_ozobi | ozobiozobi | 2024/10/01 |
- | < 1.45 > |
| AutoX | Autox.js v6 | autox-community | 2025/03/30 |
- | < 0.96 > |
表格中的日期為預估值, 與實際可能存在出入.
表格中 Auto.js Pro 7/8/9 為付費版本, 其餘為免費開源版本.
表格中 終止開發日期 列包含方括號 ([]) 的數據, 表示開源項目暫時無法訪問.
表格中 活躍維護期 列包含尖括號 (<>) 的數據, 其統計截止日期為 2026 年 3 月 14 日.
功能
- 可用作 JavaScript IDE (代碼補全/變量重命名/代碼格式化)
- 支持基於 無障礙服務 的自動化操作
- 支持浮動按鈕快捷操作 (腳本錄製及運行/查看包名及活動/佈局分析)
- 支持選擇器 API 並提供控件遍歷/獲取信息/控件操作 (類似 UiAutomator)
- 支持佈局界面分析 (類似 Android Studio 的 LayoutInspector)
- 支持錄製功能及錄製回放
- 支持屏幕截圖/保存截圖/圖片找色/圖片匹配
- 支持 E4X (ECMAScript for XML) 編寫界面
- 支持將腳本文件或項目打包為 APK 文件
- 支持利用 Root 權限擴展功能 (屏幕點擊/滑動/錄製/Shell)
- 支持作為 Tasker 插件使用
- 支持與 VSCode 連接並進行桌面開發 (需要 AutoJs6-VSCode-Extension 插件)
環境
指南
主要變更
相較於 Auto.js 最終開源版本 4.1.1 Alpha2, AutoJs6 主要進行了以下升級或變更:
- 支持通過 Shizuku 獲得 ADB 特權並使用系統 API
- 支持構建 WebSocket 實例以完成基於 WebSocket 協議 的網絡請求
- 新增模塊 [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
- 多語言適配 [ 西 / 法 / 俄 / 阿 / 日 / 韓 / 英 / 簡中 / 繁中 / ... ]
- 主題色適配 [ 分組 / 定位 / 搜索 / 歷史記錄 / 亮度及對比度自動適配 / ... ]
- 夜間模式適配 [ 設置頁面 / 文檔頁面 / 佈局分析頁面 / 浮動窗口 / ... ]
- VSCode 插件 支持客户端 (LAN) 及服務端 (LAN/ADB) 連接方式
- Rhino 引擎由 v1.7.7.2 升級至 v2.0.0-SNAPSHOT (更新於 2025 年 12 月 25 日)
- Unicode 碼位 轉義支持 輔助平面 字符
'\u{1D160}'; /* 表示 "𝅘𝅥𝅮", 傳統方式: '\uD834\uDD60'. */ - 支持 Object.values()
Object.values({name: 'Max', age: 4}); // ['max', 4] - 支持 Array.prototype.includes()
[10, 20, NaN].includes(20); // true - 支持 BigInt
typeof 567n === 'bigint'; // true - 支持 模板字符串
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - 查看 Rhino 引擎 更多新特性
- 查看 Rhino 引擎 兼容性列表
- Unicode 碼位 轉義支持 輔助平面 字符
發行歷史
v6.7.0
2026/03/14
新增插件中心功能, 支持插件的安裝/卸載/更新等操作 (入口: 主頁抽屜按鈕/主頁標籤頁)新增版本歷史功能, 支持查看/恢復可編輯文件的歷史版本 (入口: 主頁抽屜按鈕/文件管理器菜單/代碼編輯器菜單)新增回收站功能, 支持查看/恢復已刪除的文件/文件夾 (入口: 主頁抽屜按鈕)新增Paddle OCR (PP-OCRv5) 插件, 用於光學字符識別新增cvt 模塊, 用於數據單位轉換 (參閲 項目文檔 > 單位轉換)新增fmt 模塊, 用於數據格式化 (參閲 項目文檔 > 格式化)新增zip 模塊, 用於文件壓縮與解壓縮操作 (Ref to Auto.js Pro) (參閲 項目文檔 > Zip)新增mediainfo 模塊, 用於查看媒體文件的詳細信息 (參閲 項目文檔 > 媒體信息)新增cvt.bytes 方法, 用於字節數據單位轉換 (參閲 項目文檔 > 單位轉換)新增fmt.bytes 方法, 用於字節數據格式化 (參閲 項目文檔 > 格式化)新增s13n.bytes 方法, 用於標準化字節數據 (參閲 項目文檔 > 標準化)新增app.isDualInstalled 方法, 用於檢測雙開應用是否已安裝 (需要 Shizuku 或 Root 權限)issue #450新增device.getSharedDeviceId 方法, 用於跨應用獲取統一共享設備 IDissue #455新增device.setPointerLocation 等 Toggleable 系列方法, 用於設置或獲取指針位置系統設置項issue #381新增dialogs.build 方法支持 textAllCaps/(positive/negative/neutral)TextAllCaps 選項參數, 用於控制按鈕文本是否全部大寫新增images.loadAsync 方法, 用於異步獲取網絡圖像資源issue #327新增ui.getNavigationBarHeight 方法/navigationBarHeight 屬性 (getter), 用於獲取導航欄高度issue #456新增ui.getVisible(Status/Navigation)BarHeight 方法/visible(Status/Navigation)BarHeight 屬性 (getter), 用於快捷獲取狀態欄或導航欄可見高度issue #456新增http.put/del(ete)/head 方法, 用於使用不同的 HTTP 請求方法發送網絡請求新增http.getAsync/postAsync/requestAsync 等方法, 用於異步發送網絡請求issue #423新增http 模塊請求相關方法獲取的 body 對象增加 stream/saveToFile/close 等方法issue #452新增http 模塊請求相關方法支持緩存控制選項參數 (cacheBody/bodyCacheThresholdBytes)新增http 模塊請求相關方法支持不安全選項參數 (isInsecure/insecure), 用於忽略證書相關異常issue #417新增http 模塊請求相關方法支持 options.client 選項, 用於配置 OkHttpClient.Builder (如 followRedirects 等)issue #454新增auto.state 屬性 (getter) 及 shizuku.state 屬性 (getter), 用於獲取無障礙服務狀態及 Shizuku 服務狀態新增runtime.(set/is)JavaPrimitiveWrap 方法, 用於設置或獲取 Java 原始類型包裝策略issue #435新增autojs.(restart/exit) 方法, 用於重啓或退出 AutoJs6 應用, 並支持應用重啓時自動運行其參數指定的腳本issue #460新增UiObject#isShifted 方法, 用於檢測控件位置變化issue #469新增UiObject#snapshot 方法, 用於捕獲控件當前狀態issue #469新增engines.myEngine().getStartTime() 方法, 用於獲取腳本引擎啓動時間戳issue #449新增crash 全局方法, 用於測試崩潰報告頁面新增structuredClone 全局方法, 用於深拷貝 JavaScript 對象 (參閲 MDN)新增等價系列選擇器 (UiSelector#id/text/...) 及包含系列選擇器 (UiSelector#xxxContains) 支持正則表達式參數新增選擇器的正則表達式參數支持使用標誌 (i, m, s, u)新增正則表達式支持後瞻斷言語法issue #464新增文件管理器增加 "移動到" 及 "複製到" 菜單項, 支持操作中止及進度狀態顯示新增代碼編輯器增加 "多功能鍵盤" - "符號設置" 菜單項, 支持符號編輯及按配置級別進行符號的創建/導入/導出等新增主頁抽屜增加 "指針位置" 工具新增主頁抽屜增加 "所有文件管理權限" 開關新增主頁抽屜增加 "後台彈出界面" 開關 (針對 [小米/Vivo] 設備)新增設置頁面增加 "Java 原始類型包裝" 設置選項issue #435新增設置頁面增加 "定時任務調度引擎" 設置選項, 支持 AlarmManager/WorkManager/JobSchedulerissue #457issue #434issue #449issue #388issue #378issue #163issue #53issue #21新增設置頁面增加 "應用啓動器圖標" 設置選項, 支持自適應圖標/透明背景圖標issue #405新增設置頁面增加 "重啓策略" 設置選項, 用於設置主頁抽屜欄重啓按鈕是否使用快速重啓策略新增設置頁面增加 "屏幕捕獲權限申請延遲" 設置選項, 用於避免權限申請窗口遮擋屏幕新增設置頁面啓動器快捷方式增加 "插件" 選項, 用於通過快捷方式跳轉到插件中心頁面新增打包應用支持開機自啓動並在配置頁面增加開關配置新增打包應用支持應用快捷方式 (日誌頁面/設置頁面)新增打包應用配置頁面增加撤銷/重做/保存按鈕新增打包應用配置頁面增加配置機制, 支持配置的建立/修改/刪除/導入/導出issue #483新增Scrapers 工具 (run-scrapers.mjs) 用於自動更新 Gradle 構建腳本結構化數據/README 通用數據/README 模板數據等新增Gradle Wrapper 切換工具 (gradle-wrapper-switcher), 用於切換本地 Gradle 主版本 (如 Gradle 8.x 與 Gradle 9.x)修復notice 方法參數數量及類型限制錯誤issue #462修復ui.R 屬性 (getter) 無法正常使用的問題修復ui.post 方法回調參數中產生異常時可能靜默失敗的問題修復isJavaClass/isJavaPackage 等全局方法無效的問題修復timers.keepAlive 方法 timeout 參數功能無效的問題修復floaty.window/rawWindow 方法無法接受字符串參數的問題issue #467修復floaty.rawWindow 因傳入錯誤的上下文導致部分控件顯示異常的問題修復util.isString 方法無效的問題修復util.class[Name]/getClass[Name] 可能返回錯誤結果的問題修復util.java.array 無法正常使用 Boolean 等類型參數的問題修復threads.disposable() 返回的對象在存取數據時可能被意外裝箱的問題issue #435修復console.build 方法多次調用時, 日誌浮動窗口樣式選項未能正常重置的問題修復console.build 方法的 (title/content)BackgroundColor 選項導致透明度或着色選項被覆蓋的問題issue #458修復console/toast 等方法顯示 Java Double 時可能丟失末尾零的問題修復無法使用 console/toast 等方法顯示 BigInt 數據類型的問題修復toast 方法因持有 Toast 實例強引用而導致可能得內存泄露問題修復部分全局對象可能丟失 JavaScript 原型屬性及方法的問題修復使用 XML 語法將 JavaScript 表達式作為屬性值時, this 對象可能出現指向錯誤的問題修復dialogs.build 方法 linkify 選項參數功能失效的問題修復dialogs.build 方法可能破壞對象參數原有數據的問題修復canvas 元素控件 setMaxFps 方法內部幀率計算錯誤修復images.concat 方法縱向拼接時寬度值計算錯誤修復images.requestScreenCapture 方法調用時用户取消授權可能導致應用崩潰的問題修復images.captureScreen 方法獲取的截圖可能存在方向錯誤或黑邊填充的問題issue #337修復images 部分方法使用區域參數時 1 被誤解析為百分比的問題修復images 部分相關方法出現異常時 oneShot 標記功能失效的問題issue #372修復images 部分相關方法可能引發內存泄露的問題issue #372修復images.save 及 ImageWrapper#saveTo 方法傳入路徑不存在時無法正常寫入文件的問題修復ImageWrapper#recycle 方法回收圖像資源功能失效的問題修復ocr 部分重載方法可能無法正常使用的問題修復ocr.detect 方法獲得的結果可能與 ocr.mode 不匹配的問題issue #468修復auto.registerEvent 註冊的無障礙服務事件會被其他腳本誤清理的問題issue #466issue #343修復Android 10 UiObject#child 方法可能出現 ArrayIndexOutOfBoundsException 異常的問題issue #416修復內置模塊方法調用可能出現 Rhino 上下文可能不一致的問題修復腳本創建大量浮動窗口後, 腳本退出時可能出現窗口殘留的問題修復運行項目時 project.json 配置參數可能無法正常解析的問題修復項目打包時 project.json 的 excludedDirs 配置參數將導致配置文件解析失敗的問題issue #428修復Android 7.x 可能無法正常使用打包功能的問題修復腳本項目配置文件保存時原始鍵名可能會被修改的問題修復腳本項目配置文件中構建版本號或構建時間出現較大數字時可能導致應用崩潰的問題修復頻繁獲取或重建 ImageReader 時可能因緩衝區暫無可用幀導致應用崩潰的問題修復輸入事件觀察器 InputEventObserver 可能導致應用啓動時明顯卡頓的問題修復Shizuku 用户服務進程未能正常結束導致進程堆積的問題issue #474修復打包應用無法正常使用 Paddle OCR 與 Rapid OCR 功能的問題修復打包應用配置文件 project.json 中的 key 值可能被意外修改的問題修復打包應用配置頁面滑動 "需要的權限" 列表時可能出現複選框圖標閃爍的問題修復發行歷史頁面部分系統因字體差別導致統計數據顯示不完整的問題修復部分設備無法正常初始化 MLKit Google OCR 的問題 (試修)issue #8修復部分設備無法正常觸發文件管理器功能按鈕點擊事件的問題 (試修)issue #465修復部分設備代碼編輯器空行顯示方框字符的問題 (試修)修復代碼編輯器軟鍵盤可能遮擋文本內容的問題修復代碼編輯器在只讀模式下依然可以編輯代碼內容的問題修復代碼編輯器在只讀模式下點擊標題區域及部分菜單項導致應用崩潰的問題修復代碼編輯器加載大文件可能導致應用崩潰的問題 (試修)修復代碼編輯器自動打開新建文件時功能按鈕狀態初始化異常修復代碼編輯器編輯文件時置於後台可能導致應用崩潰的問題修復Android 15+ 代碼編輯器點擊 fx 按鈕無法顯示模塊函數快捷面板的問題 (試修)修復ErrorDialogActivity 可能無法正常啓動或短時間自動消失的問題issue #479issue #471issue #414issue #340修復Canvas 構造函數可接受的參數類型錯誤issue #402修復崩潰報告頁面複製詳細信息功能失效的問題修復Android 16+ 自定義返回邏輯失效導致返回功能異常的問題修復文件管理器搜索結果展示後點擊返回按鈕或切換標籤頁面時可能導致應用崩潰的問題修復文件管理器刪除項目文件夾後 UI 未能自動刷新的問題修復任務面板列表項頻繁變動時可能導致應用崩潰的問題修復使用 "三按鈕" 手勢導航時導航欄前景色可能與夜間模式關聯異常的問題修復APK 文件類型信息對話框可能無法獲取應用名稱及 SDK 信息的問題修復客户端模式連接後, 短時間斷開連接並再次連接時, 出現握手超時且難以再次建立連接的問題修復客户端模式連接時, 旋轉屏幕及切換語言等觸發 Activity 重建的操作導致 AutoJs6 總是重建連接的問題修復服務端模式連接時, 旋轉屏幕及切換語言等觸發 Activity 重建的操作導致 VSCode 控制枱無法輸出日誌的問題issue #385修復連接 VSCode 插件時, 多種方式同時連接可能導致日誌打印數量成倍增加的問題修復佈局分析頁面生成代碼時對於集合控件可能生成失敗的問題 (試修)issue #328修復設置頁面 "使用 '音量減' 鍵控制錄製" 開關功能失效的問題issue #480修復錄製腳本生成的代碼文件可能出現座標數值與屏幕實際像素值不匹配的問題issue #480修復錄製腳本生成的代碼文件首個行為 (如點擊或滑動等) 總是被忽略的問題修復浮動按鈕 "運行腳本" 對話框後台操作文件時可能導致應用崩潰的問題修復主頁活動頁面生命週期結束後重新進入主頁時, 浮動按鈕狀態可能被重置的問題修復小米設備 "顯示在其他應用上層" 開關可能跳轉到錯誤設置頁面的問題修復檢查更新中止下載過程後, 網絡數據包依然持續後台獲取的問題 (試修)修復構建工具啓用 isCleanup[Paddle/Rapid]Ocr 配置選項時無法正常完成 Rebuild Project 任務的問題優化插件化 Paddle OCR (PP-OCRv3) 相關功能issue #334issue #331issue #325優化runtime.loadJar 方法增強兼容性 (by LYS86)pr #475優化ui.getStatusBarHeight 方法/statusBarHeight 屬性 (getter) 增強一定程度的兼容性優化console.log 等方法打印全局對象 (images, app, ocr 等) 時支持顯示詳細信息優化dialogs.build 方法支持使用 MaterialDialog.Builder 原生選項參數優化dialogs.build 方法 animation/linkify 選項參數支持字符串寬鬆匹配優化device.rotation/rotation/width/height 方法獲取屏幕方向及寬高數據的穩定性與一致性優化app.launchDual/startDualActivity 等方法提升執行效率並增強兼容性優化android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等顏色參數優化內置模塊相關方法實參類型的異常消息增加類型摘要信息優化內置模塊 (dayjs/cheerio/dayjs/i18n) 脱離腳本執行模式, 使用全局懶加載方式替代優化控制枱相關方法打印巨型數據時根據上限適當省略部分內容以降低打印耗時優化控制枱浮動窗口倒計時起始值由 6 秒增加到 9 秒優化控制枱浮動窗口內部實現進行無鎖化及隊列化處理以提升其參數設置效率與成功率優化控制枱浮動窗口背景色彩行為相關 API (透明度/着色/基色) 更符合安卓設計規範issue #458優化文件管理器浮動按鈕展開後點擊菜單項時優化菜單收起時機優化文件管理器/任務面板支持顯示文件/任務數量統計信息優化代碼編輯器保存文件失敗時自動存為草稿並支持另存為新文件優化代碼編輯器加載大文件時提升一定程度的流暢度優化代碼編輯器 "查找/替換" 支持狀態持久化及實時顯示搜索計數信息優化代碼編輯器提示保存時確保保存成功後再退出編輯器以降低保存失敗率優化代碼編輯器保存按鈕的狀態更符合用户主觀邏輯優化代碼編輯器支持 "-", "=", "(", "[", "{", "<" 等按鍵長按功能優化打包應用打包過程對話框增加 "中止" 按鈕優化打包應用打包過程對話框的顯示方式並增加耗時統計優化打包應用使用新配置安裝時將覆蓋舊應用的相關配置優化打包應用配置頁面默認勾選必要權限 (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...)issue #397優化打包應用配置頁面支持更多選項的讀取及配置 (啓動時顯示日誌/啓動時顯示啓動頁/啓動頁標語文本/...)優化打包應用設置頁面增加前台服務開關issue #406優化腳本項目配置文件保存時增加鍵名衝突檢測機制防止鍵名歧義優化崩潰報告頁面支持雙指縮放調整字體大小並添加常用功能按鈕優化應用啓動器圖標支持自適應圖標特性issue #405優化Rhino 引擎在泛型簽名解析失敗時回退為原始反射類型以增強低版本安卓系統的反射方法可用性優化主頁抽屜開關類條目添加分隔線, 支持點擊標題文字區域顯示詳情對話框並按需支持快捷跳轉系統設置優化啓動或重啓 AutoJs6 時支持點擊主頁抽屜 "客户端模式" 標題文字區域中止正在嘗試建立的連接優化客户端模式連接時支持使用 IPv6 地址及域名地址建立連接優化客户端模式連接時支持特殊用途 IPv4 地址 (迴環/廣播/多播/保留/...) 檢測提示優化客户端模式連接時支持連接狀態顯示及管理 (修正地址/中止連接)優化服務端模式連接時支持顯示已建立連接的客户端數量優化讀取通知權限支持自動重連機制 (requestRebind) 以增強通知監聽相關功能的穩定性優化浮動按鈕增強後台啓動 Activity 的安全性以避免應用崩潰優化浮動按鈕 "更多" 對話框使用異步加載數據方式提升顯示流暢度優化浮動按鈕 "運行腳本" 對話框增加 "主頁" 菜單項優化浮動按鈕 "運行腳本" 對話框支持最小化及狀態恢復並盡最大努力保持窗口常駐或自動恢復優化支持使用 Shizuku 權限錄製腳本及錄製回放 (回放流暢度受一定影響)issue #320優化主題色設置頁面定位主題色時使用快速定位方式以提升定位效率優化使用 LiveData 及 SharedFlow 替代已棄用的 LocalBroadcastManager優化Gradle 構建腳本提升 7z 格式文件的解壓效率優化Gradle 構建腳本支持獲取詳細的 Android Studio IDE 版本 (如 "2025.1.4.7")優化Gradle 構建腳本支持自動生成 VersionCodesList 類所需數據以降低腳本啓動延遲優化使用 版本目錄 (Version Catalogs) 集中管理 Gradle 依賴和插件版本優化模塊化 Gradle 構建腳本, 將共享構建邏輯遷移至 build-logic 並抽象為約定插件優化使用 Gradle 約定插件簡化本地 AAR 庫加載邏輯優化移除 "android.enableJetifier=true" Gradle 配置選項以適配 Gradle 9優化使用 Toolchain 替代 sourceCompatibility/targetCompatibility 以降低構建環境差異優化部分依賴或本地庫版本調整CHANGELOG.md
v6.6.4
2025/05/31
提示API 變更: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]新增util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用於像素單位轉換修復屏幕旋轉至橫向時子標題可能顯示不完整的問題修復屏幕旋轉至橫向時部分頁面內容被側邊導航欄遮擋的問題修復Android 15 部分頁面狀態欄背景着色區域不完整的問題issue #398修復代碼編輯器可能使用置信度不足的編碼寫入文件導致內容解碼異常的問題 (試修)優化關於應用與開發者頁面增加布局適配通用性並去除不必要的佈局分類優化README.md 項目編譯構建小節添加多種方式便於定位目標設置頁面issue #404優化部分依賴或本地庫版本調整CHANGELOG.md
v6.6.3
2025/05/27
新增發行歷史功能, 可查看發行版本的發行歷史記錄 (多語言) 與統計數據新增timers.keepAlive 方法 (已全局化), 用於保持腳本活躍狀態新增engines.on('start/stop/error', callback) 等事件監聽方法, 用於監聽腳本引擎全局事件新增images.detectMultiColors 方法, 用於多點顏色校驗issue #374新增images.matchFeatures/detectAndComputeFeatures 方法, 支持全分辨率找圖 (Ref to Auto.js Pro)issue #366新增images.compressToBytes 方法, 用於壓縮圖像並生成字節數組新增images.downsample 方法, 用於像素降採樣並生成新的 ImageWrapper新增ui.keepScreenOn 方法, 用於 UI 頁面獲取焦點時保持設備屏幕常亮新增ui.root 屬性 (getter), 用於獲取 UI 頁面佈局的 "窗口內容根容器" 節點新增webview 元素支持基於 JsBridge 的 Web 頁面佈局 (Ref to Auto.js Pro) [參閱 示例代碼 > 佈局 > 可交互 HTML / Vue2 + Vant (SFC)]issue #281新增佈局分析支持控件隱藏 (by TonyJiangWJ)pr #371issue #355修復主頁文檔標籤及文檔活動頁面顯示在線文檔時部分內容被系統導航欄遮擋的問題修復部分頁面 Toolbar 點擊按鈕時可能導致標題點擊事件誤觸發的問題修復部分設備代碼編輯器空行顯示方框字符的問題 (試修)修復主題色設置頁面調色盤對話框可能無限疊加的問題修復無障礙服務關閉時音量加鍵停止所有腳本功能失效的問題修復定時任務頁面編輯自定義廣播內容時出現的輸入法遮擋問題修復webview 元素中的控件無法正常激活輸入法軟鍵盤的問題修復APK 文件類型信息對話框可能無法獲取應用名稱及 SDK 信息的問題修復文件管理器示例代碼進入項目目錄時可能無法自動加載子目錄文件內容的問題修復Android 15 UI 模式頂部內容被狀態欄覆蓋的問題修復Android 15 部分頁面狀態欄背景顏色可能無法動態跟隨主題色的問題修復dialogs 模塊無法正常使用 customView 屬性的問題issue #364修復dialogs.input 方法的表達式參數可能無法獲得執行結果的問題修復使用 JavaAdapter 時導致 ClassLoader 調用棧溢出的問題issue #376修復console.setContentTextColor 方法導致日誌字體顏色丟失默認值的問題issue #346修復console.setContentBackgroundColor 方法無法接受顏色名稱參數的問題issue #384修復images.compress 方法實現原理由像素降採樣修正爲編碼質量變化修復images.resize 方法無法正常使用的問題修復engines.all 方法可能觸發 ConcurrentModificationException 的問題issue #394修復README.md 中部分語言日期格式不正確的問題修復Gradle 構建腳本可能因獲取到無效庫檔案文件長度而導致構建失敗的問題issue #389優化佈局分析菜單添加漸變分隔線實現一定程度的功能分組優化腳本項目配置文件 project.json 支持 permissions 選項 (by wirsnow)pr #391issue #362優化打包單文件時自動讀取並勾選已安裝應用的聲明權限issue #362優化主題色擴充適配範圍並支持更多控件類型優化主頁抽屜在橫向屏幕或超寬屏幕的寬度適應性優化關於應用與開發者頁面增加水平佈局及小屏佈局適配優化設置頁面對話框相關設置支持 "使用默認值" 菜單選項優化文件管理器浮動按鈕展開後點擊其他區域可自動隱藏優化代碼編輯器格式化代碼支持??,?.,??=等運算符優化代碼編輯器支持 GB18030 / UTF-16 (LE/BE) / Shift_JIS 等編碼的文件讀寫優化代碼編輯器支持顯示文件詳細信息 (路徑/編碼/換行符/字節及字符總數等)issue #395優化意圖相關操作 (編輯/查看/安裝/發送/播放等) 增加操作異常提示優化webview 元素的 url 屬性支持相對路徑優化ImageWrapper#saveTo 方法的路徑參數支持相對路徑優化images.save 方法使用 quality 參數時支持 png 格式的文件體積壓縮issue #367優化已忽略更新記錄及客戶端模式連接地址記錄支持清空操作優化版本更新信息支持多語言顯示 (與當前顯示語言同步)優化使用異步加載方式一定程度提升文件管理器列表滑動流暢性優化腳本異常消息在控制檯的顯示內容與格式優化示例代碼支持將文件夾重置爲初始內容優化APK 文件簽名信息提升檢測效率優化APK 文件類型信息及媒體文件類型信息優化對話框顯示效率及信息展示邏輯優化Gradle 構建腳本提升版本自適應能力discussion #369優化部分依賴或本地庫版本調整CHANGELOG.md
更多發行歷史可參閲
項目編譯構建
如需對 AutoJs6 開源項目進行調試或開發, 可使用 Android Studio (Google 公司產品) 或 IntelliJ IDEA (Jetbrains 公司產品).
本小節以 Android Studio 為例介紹 AutoJs6 開源項目的編譯構建方法, IntelliJ IDEA 與之類似.
Android Studio 準備
下載 Android Studio Panda 2 | 2025.3.2 版本 (按需選擇其一):
- android-studio-panda2-windows.exe (1.28 GiB)
- android-studio-panda2-windows.zip (1.29 GiB)
- android-studio-panda2-linux.tar.gz (1.32 GiB)
注: 上述版本發佈時間為 2026 年 3 月 3 日. 如需下載其他版本, 或上述鏈接已失效, 可訪問 Android Studio 發行版本歸檔 頁面.
安裝或解壓上述文件, 運行 Android Studio 軟件 (如 "D:\android-studio\bin\studio64.exe").
Android SDK 準備
注: 如果計算機系統已安裝 Android SDK (安卓軟件開發工具包), 則可跳過此小節內容.
打開 Android SDK (安卓軟件開發工具包) 設置頁面 (任選一種方式):
Help (幫助) | Find action (查找操作) # 輸入 "Android SDK"
[ 或 ]
File (文件) | Settings (設置) # 搜索 "Android SDK"
[ 或 ]
File (文件) | Settings (設置) | Language & Frameworks (語言和框架) | Android SDK (安卓軟件開發工具包)
[ 或 ]
File (文件) | Settings (設置) | Appearance & Behavior (外觀與行為) | System Settings (系統設置) | Android SDK (安卓軟件開發工具包)
Android SDK Location (安卓軟件開發工具包位置) 處如果是空白內容, 可點擊右側 Edit (編輯) 按鈕, 在彈出的窗口中多次點擊 Next (下一步).
注: 過程中可能需要同意一個或多個相關協議才能繼續.
待相關資源下載並安裝完畢, 點擊 Finish (完成) 按鈕.
上述 Android SDK Location (安卓軟件開發工具包位置) 處將自動完成路徑填寫, SDK 準備工作隨即完成.
Android SDK Tools 準備
AutoJs6 需要使用部分 SDK 工具 (如 NDK 及 CMake).
注: 如果計算機系統已安裝 AutoJs6 全部所需的 Android SDK Tools, 則可跳過此小節內容.
打開 SDK Tools (SDK 工具) 設置頁面 (任選一種方式):
Help (幫助) | Find action (查找操作) # 輸入 "SDK Tools"
[ 或 ]
File (文件) | Settings (設置) # 搜索 "SDK Tools"
[ 或 ]
File (文件) | Settings (設置) | Language & Frameworks (語言和框架) | Android SDK (安卓軟件開發工具包) | SDK Tools (SDK 工具) (位於右側窗口)
[ 或 ]
File (文件) | Settings (設置) | Appearance & Behavior (外觀與行為) | System Settings (系統設置) | Android SDK (安卓軟件開發工具包) | SDK Tools (SDK 工具) (位於右側窗口)
勾選 Show Package Details (顯示包詳情), 依次點擊 NDK 及 CMake, 確保相應版本的工具已勾選, SDK 工具的版本信息位於 AutoJs6 項目根目錄的 version.properties 文件中.
JDK 準備
AutoJs6 項目依賴的 JDK (Java 開發工具包) 發行版本不低於 17, 但建議不低於 21.
截至 2026 年 3 月 14 日, AutoJs6 可支持 JDK 最高版本為 25.
注: 如果計算機系統已安裝 JDK 且版本滿足上述要求, 則可跳過此小節內容.
JDK 可使用 IDE 直接下載, 或訪問 Oracle 網站 下載.
打開 Gradle JDK 設置頁面 (任選一種方式):
Help (幫助) | Find action (查找操作) # 輸入 "Gradle JDK"
[ 或 ]
File (文件) | Settings (設置) # 搜索 "Gradle"
[ 或 ]
File (文件) | Settings (設置) | Build, Execution, Deployment (構建, 執行, 部署) | Build Tools (構建工具) | Gradle
Gradle JDK 處可選擇或添加不同版本的 JDK.
如果列表中已存在合適版本的 JDK (>= 17), 則直接選擇即可.
否則可以選擇 Download JDK (下載 JDK) 下載合適的 JDK, 點擊 Download (下載) 按鈕並等待下載完成.
也可以選擇 Add JDK (添加 JDK) 添加已存在的本地 JDK, 定位其目錄並完成 JDK 添加.
AutoJs6 資源克隆
在 Android Studio 主頁面點擊 Get from VCS (從版本控制系統獲取) 按鈕.
URL (統一資源定位地址) 處填入 https://github.com/SuperMonster003/AutoJs6.git,
Directory (目錄) 處可根據需要修改為特定路徑.
點擊 Clone (克隆) 按鈕, 等待 AutoJs6 項目資源在設備本地完成克隆.
注: 上述過程可能需要安裝 Git (分佈式版本控制系統).
AutoJs6 項目構建
克隆完成後, Android Studio 將打開 AutoJs6 的項目窗口, 並自動完成初步的 Dependencies (依賴) 下載及 Gradle 構建工作.
注: 上述過程可能非常耗時. 若網絡條件欠佳, 可能需要重試多次 (點擊 Retry 按鈕).
如果構建未能自動進行, 或需要再次構建項目, 可執行以下步驟:
- 在
Toolbar (工具欄)中, 從Run/Debug Configurations (運行/調試配置)菜單中選擇app, 這是 AutoJs6 的主應用 - 點擊左側的
Build Project (構建項目)按鈕 (形如鐵錘) 開始構建項目, 默認快捷鍵為 CTRL + F9 - 等待構建完成,
Builder Output (構建輸出)標籤頁將出現類似 "BUILD SUCCESSFUL in 1h 17m 34s" 的消息
如果構建失敗, 可將異常消息反饋到 AutoJs6 項目的 議題 (Issues) 頁面.
注: 關於如何構建並運行應用的更多內容, 可參閲 Android Docs
AutoJs6 項目部署 (運行 App)
項目構建成功後, 可將項目作為應用程序 (簡稱 App) 部署到實體設備 (如手機/平板電腦) 或虛擬設備 (如 Android 模擬器) 中.
- 在
Toolbar (工具欄)中, 從Run/Debug Configurations (運行/調試配置)菜單中選擇app, 這是 AutoJs6 的主應用 - 在右側
Available Devices (可用設備)菜單中, 選擇需要運行項目 App 的設備 (實體設備或虛擬設備) - 點擊右側的
Run (運行)按鈕 (形如三角形) 開始運行項目, 默認快捷鍵為F10 - 等待部署完成, 指定設備將自動安裝並運行項目 App
AutoJs6 項目部署 (生成 APK)
打包項目並生成可安裝到安卓設備的 APK 文件:
- 調試版 (Debug Version)
Build (構建)|Build Bundle(s) / APK(s)|Build APK(s)- 生成帶默認簽名的調試版安裝包
- 路徑示例:
"D:\AutoJs6\app\build\outputs\apk\debug\"
- 發佈版 (Release Version)
Build (構建)|Generate Signed Bundle / APK- 選擇
APK選項 - 準備好簽名文件 (新建或選取), 生成已簽名的發佈版安裝包
- 路徑示例:
"D:\AutoJs6\app\release\"
注: 關於如何構建應用以向用户發佈的更多內容, 可參閲 Android Docs
AutoJs6 預置 Gradle 構建任務
除了構建項目 App 之外, AutoJs6 還支持一些預置的 Gradle 構建任務, 這些任務可以幫助開發者完成與項目相關的便捷操作.
在 Toolbar (工具欄) 的 Run/Debug Configurations (運行/調試配置) 菜單中, 可看到各個 Gradle 預置任務, 每個任務左側均顯示帶小象圖標的任務標識.
- AutoJs6 [inrt:assemble]
組裝 "inrt" 構建變體, 主要服務於 AutoJs6 腳本打包功能.
AutoJs6 項目擁有不同的構建變體, 其中 "inrt" 變體用於實現 AutoJs6 的腳本打包功能, 生成打包功能依賴的模板文件 "template.apk".
使用打包功能時可能會出現以下異常消息:
java.io.FileNotFoundException: template.apk
這表明模板文件不存在, 需要手動運行一次 inrt:assemble 任務, 生成模板文件, 然後再次構建並部署 App.
注: 當主項目代碼發生變更, 且希望將變更同步到打包應用時, 需要重新運行
inrt:assemble任務生成模板文件並再次部署 App
- AutoJs6 [app:bundle]
打包 debug 版本編譯過程產物, 主要服務於 AutoJs6 聲明文件 項目.
任務運行後生成一個 AutoJs6 項目最新的 JAR 文件, 利用 Android d.ts Generator (by NativeScript) 工具可生成 AutoJs6 主應用的聲明文件 (d.ts 格式).
- AutoJs6 [app:digest]
附加摘要信息到 release 版本編譯產生的 APK 文件, 主要服務於 AutoJs6 發佈最新版本到 GitHub 前確定最終的文件名.
以下為附加摘要信息前後的文件名對比:
前:
autojs6-v6.6.2-arm64-v8a.apk
後:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
參閲: Android Docs
腳本開發輔助
開發 AutoJs6 可運行的腳本, 需使用合適的開發工具:
如需在 PC 上進行腳本編寫與調試, VSCode 插件可以實現 PC 與手機的互聯:
- AutoJs6-VSCode-Extension - AutoJs6 調試器 (VSCode 平台插件)
使用開發工具編寫代碼時, 代碼智能補全功能可以更好地輔助開發者完成代碼編寫:
- AutoJs6-TypeScript-Declarations - AutoJs6 聲明文件 (代碼智能補全)
編寫代碼時, AutoJs6 相關 API 及使用方式, 可隨時查閲應用文檔:
- AutoJs6-Documentation - AutoJs6 應用文檔
現有的腳本開發項目可作為參考, 激發個人腳本項目的創作靈感:
- Ant-Forest - 螞蟻森林能量自動收取腳本 by TonyJiangWJ
- Ant-Forest - 螞蟻森林能量自動收取腳本 by SuperMonster003
- autojs - Auto.js 實用腳本 by e1399579
- autojsDemo - Auto.js 演示示例 by snailuncle
- autojs 相關倉庫 - GitHub 與 autojs 話題相關的全部倉庫
貢獻參與
感謝每一位參與 AutoJs6 項目開發的貢獻人員.
| 貢獻人員 | 提交數 | 最近提交 |
|---|---|---|
| Willie169 | 1 | 2026/03/03 |
LYS86 (Lin) |
4 | 2025/12/26 |
| wirsnow | 1 | 2025/05/19 |
| TonyJiangWJ | 4 | 2025/04/24 |
| luckyloogn | 3 | 2024/12/31 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
7 | 2023/11/15 |
kojoe‑code (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
| 數據更新於 2026 年 3 月 4 日. |
數據條目按 最近提交 降序排序.
新發起的暫未處理的 Pull Request, 將在合併處理後加入數據統計.
部分貢獻人員在 GitHub Contributors 未能正常出現, 其提交記錄為空, 仍可通過 Pull Request 查看貢獻記錄.
