編輯點(diǎn)評(píng):安卓平臺(tái)JavaScript 自動(dòng)化工具.
AutoJs6是安卓JavaScript自動(dòng)化工具,基于Auto.js二次開發(fā),軟件中功能非常強(qiáng)大,支持多種功能,支持選擇api控制,布局分析,腳本打包等等功能,內(nèi)置了詳細(xì)的使用文檔,可根據(jù)自己的需要來(lái)選擇,提供無(wú)障礙服務(wù),非常方便。
使用注意
1、Android 平臺(tái)支持無(wú)障礙服務(wù)的 JavaScript 自動(dòng)化工具
2、需要 Android 7.0 (API 24) 及以上
3、克隆 (clone) 自 hyb1996/Auto.js
主要功能
1、可用作 JavaScript IDE (代碼補(bǔ)全/變量重命名/代碼格式化)
2、支持基于無(wú)障礙服務(wù)的自動(dòng)化操作
3、支持懸浮窗快捷操作 (腳本錄制及運(yùn)行/查看包名及活動(dòng)/布局分析)
4、支持選擇器 API 并提供控件遍歷/獲取信息/控件操作 (類似 UiAutomator)
5、支持布局界面分析 (類似 Android Studio 的 LayoutInspector)
6、支持錄制功能及錄制回放
7、支持屏幕截圖/保存截圖/圖片找色/圖片匹配
8、支持 E4X (ECMAScript for XML) 編寫界面
9、支持將腳本文件或項(xiàng)目打包為 APK 文件
10、支持利用 Root 權(quán)限擴(kuò)展功能 (屏幕點(diǎn)擊/滑動(dòng)/錄制/Shell)
11、支持作為 Tasker 插件使用
12、支持與 VSCode 連接并進(jìn)行桌面開發(fā) (需要 AutoJs6-VSCode-Extension 插件)
軟件優(yōu)勢(shì)
1、VSCode 插件支持客戶端 (LAN) 及服務(wù)端 (LAN/ADB) 連接方式
2、多語(yǔ)言適配 (西/法/俄/阿/日/韓/英/簡(jiǎn)中/繁中等)
3、夜間模式適配 (設(shè)置頁(yè)面/文檔頁(yè)面/布局分析頁(yè)面/懸浮窗等)
4、Rhino 引擎由 v1.7.7.2 升級(jí)至 v1.7.15-SNAPSHOT
常見問(wèn)題
區(qū)域截圖
AutoJs6 不支持區(qū)域截圖.
只能通過(guò) images.captureScreen 截取屏幕后使用 images.clip 等方式做進(jìn)一步處理.
定時(shí)任務(wù)
定時(shí)運(yùn)行腳本
腳本右側(cè)菜單 -> 定時(shí)任務(wù), 即可定時(shí)運(yùn)行腳本.
需保持 AutoJs6 后臺(tái)運(yùn)行, 包括 [ 自啟動(dòng)白名單 / 忽略電池優(yōu)化 / 忽略后臺(tái)活動(dòng)限制 / 系統(tǒng)多任務(wù)保留 ] 等.
在設(shè)備關(guān)屏情況下, 可使用 device.wakeUp() 喚醒屏幕.
但 AutoJs6 暫未提供解鎖功能, 因此可能需要根據(jù)設(shè)備自行設(shè)計(jì)解鎖代碼.
定時(shí)任務(wù)獲取外部參數(shù)
若腳本由 intent (如網(wǎng)絡(luò)狀態(tài)變化等特定事件) 觸發(fā)啟動(dòng), 可通過(guò) engines.myEngine().execArgv.intent 獲取 intent, 進(jìn)而獲取外部參數(shù).
打包應(yīng)用
圖片等資源共同打包及多腳本打包
上述需求需使用 "項(xiàng)目" 功能.
點(diǎn)擊 AutoJs6 主頁(yè)面 "+" 圖標(biāo), 選擇項(xiàng)目, 填寫信息后可新建一個(gè)項(xiàng)目.
項(xiàng)目支持存放多個(gè) [ 腳本 / 模塊 / 資源文件 ].
項(xiàng)目工具欄的 APK 打包圖標(biāo), 點(diǎn)擊可打包一個(gè)項(xiàng)目.
例如:
腳本讀取同目錄 1.png: images.read("./1.png").
UI 腳本圖片控件引用同目錄 2.png: <img src="file://2.png"/>.
AutoJs6 內(nèi)置模塊支持相對(duì)路徑引用, 其他情況可能需借助 files.path() 轉(zhuǎn)換為絕對(duì)路徑.
更新日志
6.5.0更新
新增 opencc 模塊 (參閱 項(xiàng)目文檔 > 中文轉(zhuǎn)換) (Ref to LZX284)
新增 UiSelector 增加 plus 及 append 方法 issue #115
新增 打包應(yīng)用頁(yè)面增加 ABI 及庫(kù)的篩選支持 (Ref to AutoX) issue #189
修復(fù) 打包應(yīng)用文件體積異常龐大的問(wèn)題 (Ref to AutoX / LZX284) issue #176
修復(fù) 打包應(yīng)用無(wú)法顯示并打印部分異常消息的問(wèn)題
修復(fù) 打包應(yīng)用頁(yè)面選擇應(yīng)用圖標(biāo)后可能顯示空?qǐng)D標(biāo)的問(wèn)題
修復(fù) 打包應(yīng)用包含 MLKit Google OCR 庫(kù)時(shí)可能出現(xiàn)的上下文未初始化異常
修復(fù) ocr.mlkit/ocr.recognizeText/detect 方法無(wú)效的問(wèn)題
修復(fù) 部分文本 (如日志頁(yè)面) 顯示語(yǔ)言與應(yīng)用設(shè)置語(yǔ)言可能不相符的問(wèn)題
修復(fù) 部分語(yǔ)言在主頁(yè)抽屜開關(guān)項(xiàng)可能出現(xiàn)文本溢出的問(wèn)題
修復(fù) 部分設(shè)備無(wú)障礙服務(wù)開啟后立即自動(dòng)關(guān)閉且無(wú)任何提示消息的問(wèn)題 issue #181
修復(fù) 部分設(shè)備無(wú)障礙服務(wù)開啟后設(shè)備物理按鍵可能導(dǎo)致應(yīng)用崩潰的問(wèn)題 (試修) issue #183 issue #186
修復(fù) 使用 auto(true) 重啟無(wú)障礙服務(wù)后 pickup 功能異常的問(wèn)題 (試修) issue #184
修復(fù) floaty 模塊創(chuàng)建浮動(dòng)窗口拖動(dòng)時(shí)可能導(dǎo)致應(yīng)用崩潰的問(wèn)題 (試修)
修復(fù) app.startActivity 無(wú)法使用簡(jiǎn)稱參數(shù)的問(wèn)題 issue #182 issue #188
修復(fù) importClass 導(dǎo)入的類名與全局變量沖突時(shí)代碼拋出異常的問(wèn)題 issue #185
修復(fù) Android 7.x 無(wú)法使用無(wú)障礙服務(wù)的問(wèn)題
修復(fù) Android 14+ 可能無(wú)法正常使用 runtime.loadJar/loadDex 方法的問(wèn)題 (試修)
修復(fù) 安卓系統(tǒng)快速設(shè)置面板中 "布局范圍分析" 和 "布局層次分析" 不可用的問(wèn)題 issue #193
修復(fù) 自動(dòng)檢查更新功能可能導(dǎo)致應(yīng)用 ANR 的問(wèn)題 (試修) issue #186
修復(fù) 文件管理器示例代碼文件夾點(diǎn)擊 "向上" 按鈕后無(wú)法回到工作路徑頁(yè)面的問(wèn)題 issue #129
修復(fù) 代碼編輯器使用替換功能時(shí)替換按鈕無(wú)法顯示的問(wèn)題
修復(fù) 代碼編輯器長(zhǎng)按刪除時(shí)可能導(dǎo)致應(yīng)用崩潰的問(wèn)題 (試修)
修復(fù) 代碼編輯器點(diǎn)擊 fx 按鈕無(wú)法顯示模塊函數(shù)快捷面板的問(wèn)題
修復(fù) 代碼編輯器模塊函數(shù)快捷面板按鈕函數(shù)名稱可能溢出的問(wèn)題
優(yōu)化 代碼編輯器模塊函數(shù)快捷面板適配夜間模式
優(yōu)化 打包應(yīng)用啟動(dòng)頁(yè)面適配夜間模式并調(diào)整應(yīng)用圖標(biāo)布局
優(yōu)化 打包應(yīng)用頁(yè)面支持使用軟鍵盤 ENTER 鍵實(shí)現(xiàn)光標(biāo)跳轉(zhuǎn)
優(yōu)化 打包應(yīng)用頁(yè)面支持點(diǎn)擊 ABI 標(biāo)題及庫(kù)標(biāo)題切換全選狀態(tài)
優(yōu)化 打包應(yīng)用頁(yè)面默認(rèn) ABI 智能選擇并增加不可選擇項(xiàng)的引導(dǎo)提示
優(yōu)化 文件管理器根據(jù)文件及文件夾的類型及特征調(diào)整菜單項(xiàng)的顯示情況
優(yōu)化 文件管理器文件夾右鍵菜單增加打包應(yīng)用選項(xiàng)
優(yōu)化 無(wú)障礙服務(wù)啟用但功能異常時(shí)在 AutoJs6 主頁(yè)抽屜開關(guān)處將體現(xiàn)異常狀態(tài)
優(yōu)化 部分依賴或本地庫(kù)版本調(diào)整 CHANGELOG.md
6.4.2更新
新增 dialogs.build() 選項(xiàng)參數(shù)屬性
新增 console.setTouchable 方法
修復(fù) ocr 模塊部分方法無(wú)法識(shí)別區(qū)域參數(shù)的問(wèn)題
修復(fù) Android 7.x 發(fā)現(xiàn)新版本時(shí)無(wú)法獲取版本詳情的問(wèn)題
修復(fù) Android 14 申請(qǐng)截圖權(quán)限時(shí)導(dǎo)致應(yīng)用崩潰的問(wèn)題
修復(fù) 主頁(yè)抽屜快速切換 "浮動(dòng)按鈕" 開關(guān)時(shí)可能導(dǎo)致應(yīng)用崩潰的問(wèn)題
修復(fù) 使用菜單關(guān)閉浮動(dòng)按鈕時(shí)重啟應(yīng)用后浮動(dòng)按鈕可能依然顯示的問(wèn)題
修復(fù) 安卓 13 及以上系統(tǒng)設(shè)置頁(yè)面選擇并切換 AutoJs6 語(yǔ)言后無(wú)法生效的問(wèn)題
修復(fù) 構(gòu)建工具初次構(gòu)建時(shí)無(wú)法自動(dòng)完成 OpenCV 資源部署的問(wèn)題
優(yōu)化 原生化 bridges 模塊以提升腳本執(zhí)行效率 (Ref to aiselp)
優(yōu)化 重構(gòu)無(wú)障礙服務(wù)相關(guān)代碼以增強(qiáng)無(wú)障礙服務(wù)的功能穩(wěn)定性 (實(shí)驗(yàn)性)
優(yōu)化 UiObject 和 UiObjectCollection 的打印輸出格式
優(yōu)化 構(gòu)建工具在構(gòu)建環(huán)境 Gradle JDK 版本不滿足要求時(shí)作出升級(jí)提示
優(yōu)化 部分依賴或本地庫(kù)版本調(diào)整 CHANGELOG.md
Android XQ-DQ72支持( 0 ) 蓋樓(回復(fù))