48 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 |
| Auto.js Pro 7 | Auto.js | hyb1996 | 2019/03/13 |
2019/07/08 |
| Auto.js Pro 8 | AutoJsPro | hyb1996 | 2019/10/13 |
2021/07/24 |
| Auto.js | Auto.js M | TonyJiangWJ | 2019/11/21 |
- |
| AutoX | Autox.js | kkevsekk1 | 2020/07/24 |
- |
| Auto.js Pro 9 | AutoJsPro | hyb1996 | 2021/03/28 |
2023/02/09 |
| AutoJs6 | AutoJs6 | SuperMonster003 | 2021/12/01 |
- |
| AutoX | Autox.js v6 | wilinz | 2022/05/26 |
- |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
- |
表格中的日期為預估值, 與實際可能存在出入.
表格中 Auto.js Pro 7/8/9 為付費版本, 其餘為免費開源版本.
功能
- 可用作 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 升級至 v1.8.1-SNAPSHOT
- 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.6.2
2025/04/16
新增ui.statusBarAppearanceLight/statusBarAppearanceLightBy/navigationBarColor 等方法新增ui.statusBarHeight 屬性 (getter), 用於獲取狀態列高度issue #357新增images.flip 方法, 用於影象翻轉issue #349新增設定頁面增加 "副檔名" 設定選項新增主題色設定頁面增加新佈局支援 (分組/定位/搜尋/歷史記錄/調色盤增強等)修復Android 15 狀態列背景顏色與主題色不一致的問題修復plugins.load 方法無法正常載入外掛的問題issue #290修復dx 庫在 Android 7.x 無法正常使用的問題issue #293修復ScriptRuntime 使用 require 引用內建模組時可能出現的同步狀態異常 (試修)issue #298修復notice 模組缺失 getBuilder 等擴充套件方法的問題issue #301修復shizuku/shell 等方法無法接受字串引數的問題issue #310修復colors.pixel 方法無法接受單通道影象引數的問題issue #350修復engines.execScript/execScriptFile 等方法執行指令碼時預設工作路徑異常issue #358issue #340issue #339修復floaty.window/floaty.rawWindow 無法在子執行緒執行的問題修復floaty.getClip 可能無法正常獲取剪下板內容的問題issue #341修復ui.inflate 返回值丟失 attr/on/click 等原型方法的問題修復使用 XML 語法將 JavaScript 表示式作為屬性值時, 其作用域上下文繫結錯誤的問題issue #319修復部分方法調用出現異常時無法被 try..catch 塊捕獲的問題issue #345修復佈局分析頁面生成程式碼時可能導致應用崩潰的問題issue #288修復打包應用無法正常使用 shizuku 模組的問題issue #227issue #231issue #284issue #287issue #304修復程式碼編輯器跳轉到行尾時可能跳轉到下一行起始位置的問題修復設定頁面連續快速點選對話方塊型別專案時可能導致應用崩潰的問題最佳化精簡打包應用模板 APK 檔案大小最佳化應用 (以及打包應用) 支援更多許可權issue #338最佳化打包頁面支援 Pinyin 庫選項最佳化打包應用主活動頁面最佳化狀態列背景及文字顏色最佳化打包應用設定頁面增加訪問所有檔案和傳送通知等特殊許可權開關issue #354最佳化控制元件的文字及圖示根據主題色亮度值自動切換合適的顏色最佳化部分控制元件主題色與背景色對比度過低時的視覺體驗最佳化調色盤 HEX 輸入控制元件增強剪貼簿貼上色值時的相容性最佳化應用內頁面導航欄設定為透明或半透明以增強視覺體驗最佳化UI 模式狀態列及導航欄預設為md_grey_50色值且設定為亮色模式最佳化主頁抽屜無障礙服務開關支援與指令碼程式碼同步最佳化主頁文件頁面搜尋時支援雙向查詢按鈕最佳化主頁 "檔案" 標籤支援透過長按切換浮動按鈕可見狀態最佳化程式碼編輯器標題文字支援字型大小自適應最佳化日誌頁面浮動按鈕可見狀態與列表滾動操作聯動最佳化指令碼專案配置檔案 project.json 支援更多打包選項issue #305issue #306最佳化指令碼專案配置檔案 project.json 支援選項名稱寬鬆匹配及別名相容最佳化APK 檔案型別資訊對話方塊增加檔案大小與簽名方案資訊最佳化APK 檔案型別資訊對話方塊增加點選監聽器支援文字複製與應用詳情跳轉最佳化嘗試恢復 com.stardust 字首包以便提升程式碼相容性issue #290最佳化floaty.window/floaty.rawWindow 同時支援主執行緒和子執行緒執行最佳化getClip 全域性方法適時藉助 floaty.getClip 方法以提升相容性最佳化files.path 及相關方法傳入空值路徑引數時的相容性最佳化同步最新的 Rhino 引擎官方上游程式碼並進行必要的程式碼適配最佳化README.md 完善專案構建與執行相關內容issue #344最佳化部分依賴或本地庫版本調整CHANGELOG.md
v6.6.1
2025/01/01
新增pinyin 模組, 用於漢語拼音轉換 (參閱 專案文件 > 漢語拼音)新增pinyin4j 模組, 用於漢語拼音轉換 (參閱 專案文件 > 漢語拼音)新增UiObject#isSimilar 及 UiObjectCollection#isSimilar 方法, 用於確定控制元件或控制元件集合是否相似新增currentComponent 全域性方法, 用於獲取當前活動的元件名稱資訊修復部分環境因回退版本過低而無法正常編譯專案的問題修復呼叫不存在的方法時可能出現的 "非原始型別值" 異常修復部分裝置無法正常新增指令碼快捷方式的問題 (試修)issue #221修復automator.click/longClick 方法引數型別限制錯誤issue #275修復選擇器不支援 ConsString 型別引數的問題issue #277修復UiObjectCollection 例項缺失自身方法及屬性的問題最佳化打包頁面支援簽名配置/金鑰庫管理/許可權設定 (by luckyloogn)pr #286最佳化提升浮動視窗當前包名及當前活動名的識別準確性 (優先順序: Shizuku > Root > A11Y)最佳化提升 currentPackage/currentActivity 識別準確性 (優先順序: Shizuku > Root > A11Y)最佳化恢復日誌活動視窗單個條目文字內容的雙擊或長按選擇功能issue #280最佳化指令碼專案識別在 project.json 損壞情況下儘可能還原關鍵資訊最佳化打包單檔案時自動生成的包名字尾支援將簡體中文轉換為拼音 (支援多音字)最佳化UiSelector#findOnce 及 UiSelector#find 方法支援負數引數最佳化app.startActivity/startDualActivity 方法增強適配性最佳化UI 元素及 className 相關選擇器支援更多的包名字首省略形式 (如 RecyclerView, Snackbar 等)最佳化同步最新的 Rhino 引擎官方上游程式碼並進行必要的程式碼適配最佳化部分依賴或本地庫版本調整CHANGELOG.md
v6.6.0
2024/12/02 - 內建模組重寫, 謹慎升級
提示內建模組使用 Kotlin 重新編寫以提升指令碼執行效率但可能需要多次迭代逐步完善提示內建 init.js 檔案預設為空但支援開發者自行擴充套件內建模組或掛載外部模組新增axios 模組 / cheerio 模組 (Ref to AutoX)新增sqlite 模組, 用於 SQLite 資料庫簡單操作 (Ref to Auto.js Pro) (參閱 專案文件 > SQLite)新增mime 模組, 用於處理和解析 MIME 型別字串 (參閱 專案文件 > MIME)新增nanoid 模組, 可作為字串 ID 生成器 (Ref to ai/nanoid)新增sysprops 模組, 用於獲取執行時環境配置資料 (參閱 專案文件 > 系統屬性)新增ocr 模組支援 Rapid OCR 引擎新增佈局分析支援切換視窗 (Ref to Auto.js Pro)新增auto.clearCache 方法, 支援清除控制元件快取 (Ref to Auto.js Pro)新增threads.pool 方法, 支援執行緒池簡單應用 (Ref to Auto.js Pro)新增images.matchTemplate 方法增加 useTransparentMask 選項引數, 支援透明找圖 (Ref to Auto.js Pro)新增images.requestScreenCaptureAsync 方法, 用於 UI 模式非同步方式申請截圖許可權 (Ref to Auto.js Pro)新增images.requestScreenCapture 方法增加 isAsync 選項引數, 支援非同步方式獲取螢幕截圖 (Ref to Auto.js Pro)新增images.on('screen_capture', callback) 等事件監聽方法, 支援監聽螢幕截圖可用事件 (Ref to Auto.js Pro)新增images.stopScreenCapture 方法, 支援主動釋放截圖申請的相關資源 (Ref to Auto.js Pro)新增images.psnr/mse/ssim/mssim/hist/ncc 及 images.getSimilarity 方法, 用於獲取影象相似性度量值新增images.isGrayscale 方法, 用於判斷影象是否為灰度影象新增images.invert 方法, 用於反色影象轉換新增s13n.point/time 方法, 用於標準化點物件及時長物件 (參閱 專案文件 > 標準化)新增console 模組 gravity (重力), touchThrough (穿透點選), backgroundTint (背景著色) 等相關方法 (參閱 專案文件 > 控制檯)新增Mathx.randomInt/Mathx.randomFloat 方法, 用於返回指定範圍內的隨機整數或隨機浮點數新增app.launchDual/startDualActivity 等方法, 用於處理雙開應用 (需要 Shizuku 或 Root 許可權) (實驗性)新增app.kill 方法, 用於強制停止應用 (需要 Shizuku 或 Root 許可權)新增floaty.getClip 方法, 用於藉助浮動視窗聚焦間接獲取剪下板內容修復Fragment 子類 (如 DrawerFragment / ExplorerFragment 等) 中存在的 View Binding 記憶體洩漏修復ScreenCapture / ThemeColorPreference 等類中存在的例項記憶體洩漏修復Android 14 申請截圖許可權導致應用崩潰的問題 (by chenguangming)pr #242修復Android 14 開啟前臺服務導致應用崩潰的問題修復Android 14 程式碼編輯器執行按鈕點選後無法正常亮起的問題修復專案打包後應用可能因缺少必要庫檔案無法正常執行的問題issue #202issue #223pr #264修復編輯專案時可能因指定圖示資源不存在而導致應用崩潰的問題issue #203修復截圖許可權申請時無法正常使用引數獲取指定螢幕方向的截圖資源修復部分裝置無法正常新增指令碼快捷方式的問題 (試修)issue #221修復呼叫 http 模組與傳送請求相關的方法將出現累積性請求傳送延遲的問題issue #192修復Shizuku 服務在 AutoJs6 進入主活動頁面之前可能無法正常使用的問題 (試修)issue #255修復random(min, max) 方法可能出現結果越界的問題修復pickup 方法結果型別引數無法正常傳入空陣列的問題修復UiObject#bounds() 得到的控制元件矩形可能被意外修改而破壞其不變性的問題修復text/button/input 元素的文字內容包含半形雙引號時無法正常解析的問題修復text/textswitcher 元素的 autoLink 屬性功能失效的問題修復不同指令碼可能錯誤地共享同一個 ScriptRuntime 物件的問題修復全域性變數 HEIGHT 及 WIDTH 丟失 Getter 動態屬性的問題修復指令碼啟動時 RootShell 隨即載入可能導致啟動高延遲的問題修復控制檯浮動視窗設定背景顏色導致矩形圓角樣式丟失的問題修復無障礙服務自動啟動可能出現的服務異常問題 (試修)修復主頁文件頁面左右滑動 WebView 控制元件時可能觸發 ViewPager 切換的問題修復檔案管理器無法識別包含大寫字母副檔名的問題修復檔案管理器首次進入專案目錄時可能無法自動識別專案的問題修復檔案管理器刪除資料夾後頁面無法自動重新整理的問題修復檔案管理器排序檔案及資料夾時可能出現 ASCII 首字母名稱置後的問題修復程式碼編輯器除錯功能的 FAILED ASSERTION 異常修復程式碼編輯器除錯過程中關閉編輯器後無法再次正常除錯的問題修復程式碼編輯器跳轉到行尾時可能遺漏末尾字元的問題修復主活動頁面啟動日誌活動頁面時可能出現閃屏的問題修復打包應用無法正常使用 opencc 模組的問題最佳化打包頁面中 "不可用 ABI" 控制元件的點選提示體驗最佳化支援使用 Shizuku 控制 "指標位置" 顯示開關最佳化支援使用 Shizuku 控制 "投影媒體" 及 "修改安全設定" 許可權開關最佳化automator.gestureAsync/gesturesAsync 支援回撥函式引數最佳化tasks 模組使用同步方式進行資料庫操作避免可能的資料訪問不一致問題最佳化指令碼執行模式支援管道符號分隔模式引數 (如"ui|auto";開頭)最佳化指令碼執行模式支援單引號及反引號且支援省略分號 (如'ui';或'ui'開頭)最佳化指令碼執行模式支援 axios, cheerio, dayjs 等模式引數快捷匯入內建擴充套件模組 (如"axios";開頭)最佳化指令碼執行模式支援 x 或 jsox 模式引數快捷啟用 JavaScript 內建物件擴充套件模組 (如"x";開頭)最佳化img 元素 src 及 path 屬性支援本地相對路徑 (如<img src="a.png"/>)最佳化程式碼編輯器匯入 Java 類和包名時支援智慧判斷插入位置最佳化images 模組支援直接使用路徑作為影象引數最佳化importPackage 支援字串引數最佳化服務端模式 IP 地址支援剪下板匯入智慧識別且支援空格按鍵智慧轉換最佳化檔案管理器新建檔案時支援預設字首選擇並自動生成合適的數字字尾最佳化檔案管理器執行專案時具體化異常訊息提示issue #268最佳化檔案管理器支援更多型別並支援顯示對應的圖示符號 (支援 800 多種檔案型別)最佳化檔案管理器可編輯的檔案型別 (jpg/doc/pdf...) 增加編輯按鈕最佳化檔案管理器 APK 檔案支援檢視基礎資訊, Manifest 資訊及許可權列表最佳化檔案管理器音影片等媒體檔案支援檢視基礎資訊及 MediaInfo 資訊最佳化打包單檔案時支援自動填入合適的標準化名包並支援無效字元過濾提示最佳化打包單檔案時支援根據已安裝同包名應用自動設定圖示並自增版本號及版本名稱最佳化打包專案配置檔案支援 abis/libs 選項指定預設包含的 ABI 架構及擴充套件庫最佳化打包專案配置檔案 abis/libs 選項無效或無可用時支援相關訊息提示最佳化LeakCanary 在正式發行版本中被排除以避免增加不必要性最佳化專案原始碼所有英文註釋增加簡體中文翻譯以增強註釋可讀性最佳化README 及 CHANGELOG 支援多語言 (由指令碼自動生成)最佳化Gradle 構建指令碼提升版本自適應能力最佳化部分依賴或本地庫版本調整CHANGELOG.md
更多版本歷史可參閱
專案編譯構建
如需對 AutoJs6 開源專案進行除錯或開發, 可使用 Android Studio (Google 公司產品) 或 IntelliJ IDEA (Jetbrains 公司產品).
本小節以 Android Studio 為例介紹 AutoJs6 開源專案的編譯構建方法, IntelliJ IDEA 與之類似.
Android Studio 準備
下載 Android Studio Meerkat | 2024.3.1 Patch 2 版本 (按需選擇其一):
- android-studio-2024.3.1.15-windows.exe (1.22 GB)
- android-studio-2024.3.1.15-windows.zip (1.23 GB)
注: 上述版本釋出時間為 2025 年 4 月 21 日. 如需下載其他版本, 或上述連結已失效, 可訪問 Android Studio 發行版本歸檔 頁面.
安裝或解壓上述檔案, 執行 Android Studio 軟體 (如 "D:\android-studio\bin\studio64.exe").
Android SDK 準備
注: 如果計算機系統已安裝 Android SDK (安卓軟體開發工具包), 則可跳過此小節內容.
在 Android Studio 軟體中使用快捷鍵 CTRL + ALT + S 開啟設定頁面:
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, 則可跳過此小節內容.
在 Android Studio 軟體中使用快捷鍵 CTRL + ALT + S 開啟設定頁面:
Appearance & Behavior (外觀與表現) ->
System Settings (系統設定) ->
Android SDK (安卓軟體開發工具包) ->
SDK Tools (SDK 工具) (位於右側視窗)
勾選 Show Package Details (顯示包詳情), 依次點選 NDK 及 CMake, 確保相應版本的工具已勾選, SDK 工具的版本資訊位於 AutoJs6 專案根目錄的 version.properties 檔案中.
JDK 準備
AutoJs6 專案依賴的 JDK (Java 開發工具包) 發行版本不低於 17, 但建議不低於 19.
截至 2025 年 5 月 22 日, AutoJs6 可支援 JDK 最高版本為 24.
注: 如果計算機系統已安裝 JDK 且版本滿足上述要求, 則可跳過此小節內容.
JDK 可使用 IDE 直接下載, 或訪問 Oracle 網站 下載.
在 Android Studio 軟體中使用快捷鍵 CTRL + ALT + S 開啟設定頁面:
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 專案開發的貢獻人員.
| 貢獻人員 | 提交數 | 最近提交 |
|---|---|---|
| TonyJiangWJ | 5 | 2025/04/24 |
| luckyloogn | 3 | 2025/01/01 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
17 | 2023/11/19 |
little‑alei (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
LYS86 (Lin) |
2 | 2023/06/03 |
資料更新於 2025 年 5 月 13 日.
資料條目按 最近提交 降序排序.
新發起的暫未處理的 Pull Request, 將在合併處理後加入資料統計.
部分貢獻人員在 GitHub Contributors 未能正常出現, 其提交記錄為空, 仍可透過 Pull Request 檢視貢獻記錄.
