6.7.0 - Alpha6 - Fine tuning

This commit is contained in:
SuperMonster003
2025-09-24 20:48:15 +08:00
parent 2309377f97
commit aced2c4150
19 changed files with 49 additions and 24 deletions

View File

@@ -6,14 +6,17 @@
# v6.7.0
###### 2025/09/10
###### 2025/09/24
* `新增` zip 模块, 用于文件压缩与解压缩操作 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (参阅 项目文档 > [Zip](https://docs.autojs6.com/#/zip))
* `新增` mediainfo 模块, 用于查看媒体文件的详细信息 (参阅 项目文档 > [媒体信息](https://docs.autojs6.com/#/mediainfo))
* `新增` UiObject#isShifted 方法, 用于检测控件位置变化
* `新增` structuredClone 全局方法, 用于深拷贝 JavaScript 对象 (参阅 [MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/Window/structuredClone))
* `新增` 设置页面支持应用启动器图标设置选项 _[`issue #405`](http://issues.autojs6.com/405)_
* `新增` JS 脚本工具 (run-scrapers.mjs) 用于自动更新 Gradle 构建脚本锚点数据/README 通用数据/README 模板数据
* `修复` isJavaClass/isJavaPackage 等全局方法无效的问题
* `修复` timers.keepAlive 方法 timeout 参数功能无效的问题
* `修复` floaty.window/rawWindow 方法无法接受字符串参数的问题
* `修复` 使用 XML 语法将 JavaScript 表达式作为属性值时, this 对象可能出现指向错误的问题
* `修复` canvas 元素控件 setMaxFps 方法内部帧率计算错误
* `修复` images.concat 方法纵向拼接时宽度值计算错误
@@ -26,6 +29,7 @@
* `修复` 部分设备无法正常初始化 MLKit Google OCR 的问题 (试修) _[`issue #8`](http://issues.autojs6.com/8#issuecomment-3117061768)_
* `修复` ErrorDialogActivity 可能无法正常启动的问题 _[`issue #414`](http://issues.autojs6.com/414)_ _[`issue #340`](http://issues.autojs6.com/340#issuecomment-2973485826)_
* `修复` 崩溃报告页面复制详细信息功能失效的问题
* `修复` 构建工具启用 isCleanup[Paddle/Rapid]Ocr 配置选项时无法正常完成 Rebuild Project 任务的问题
* `优化` http 模块相关方法支持不安全选项参数 (isInsecure/insecure), 用于忽略证书相关异常 _[`issue #417`](http://issues.autojs6.com/417)_
* `优化` android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等颜色参数
* `优化` 内置模块相关方法实参类型的异常消息增加类型摘要信息
@@ -33,6 +37,12 @@
* `优化` 崩溃报告页面支持双指缩放调整字体大小并添加常用功能按钮
* `优化` 应用启动器图标支持自适应图标特性 _[`issue #405`](http://issues.autojs6.com/405)_
* `优化` Gradle 构建脚本提升 7z 格式文件的解压效率
* `优化` 使用版本目录 (Version Catalogs) 集中管理 Gradle 依赖和插件版本
* `优化` 模块化 Gradle 脚本, 将共享构建逻辑迁移至 buildSrc 并抽象为约定插件
* `优化` 使用 Toolchain 替代 sourceCompatibility/targetCompatibility 以降低构建环境差异
* `依赖` 本地化 Root Shell 版本 1.6
* `依赖` 本地化 Expandable Layout 版本 1.6.0
* `依赖` 本地化 Recyclerview Flexible Divider 版本 1.4.0
* `依赖` 附加 Androidx Core (KTX) 版本 1.15.0
* `依赖` 升级 Gradle 版本 8.14 -> 8.14.3
* `依赖` 升级 Apache Commons 版本 3.16.0 -> 3.18.0

View File

@@ -6,14 +6,17 @@
# v6.7.0
###### 2025/09/10
###### 2025/09/24
* `新增` zip 模块, 用于文件压缩与解压缩操作 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (参阅 项目文档 > [Zip](https://docs.autojs6.com/#/zip))
* `新增` mediainfo 模块, 用于查看媒体文件的详细信息 (参阅 项目文档 > [媒体信息](https://docs.autojs6.com/#/mediainfo))
* `新增` UiObject#isShifted 方法, 用于检测控件位置变化
* `新增` structuredClone 全局方法, 用于深拷贝 JavaScript 对象 (参阅 [MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/Window/structuredClone))
* `新增` 设置页面支持应用启动器图标设置选项 _[`issue #405`](http://issues.autojs6.com/405)_
* `新增` JS 脚本工具 (run-scrapers.mjs) 用于自动更新 Gradle 构建脚本锚点数据/README 通用数据/README 模板数据
* `修复` isJavaClass/isJavaPackage 等全局方法无效的问题
* `修复` timers.keepAlive 方法 timeout 参数功能无效的问题
* `修复` floaty.window/rawWindow 方法无法接受字符串参数的问题
* `修复` 使用 XML 语法将 JavaScript 表达式作为属性值时, this 对象可能出现指向错误的问题
* `修复` canvas 元素控件 setMaxFps 方法内部帧率计算错误
* `修复` images.concat 方法纵向拼接时宽度值计算错误
@@ -26,6 +29,7 @@
* `修复` 部分设备无法正常初始化 MLKit Google OCR 的问题 (试修) _[`issue #8`](http://issues.autojs6.com/8#issuecomment-3117061768)_
* `修复` ErrorDialogActivity 可能无法正常启动的问题 _[`issue #414`](http://issues.autojs6.com/414)_ _[`issue #340`](http://issues.autojs6.com/340#issuecomment-2973485826)_
* `修复` 崩溃报告页面复制详细信息功能失效的问题
* `修复` 构建工具启用 isCleanup[Paddle/Rapid]Ocr 配置选项时无法正常完成 Rebuild Project 任务的问题
* `优化` http 模块相关方法支持不安全选项参数 (isInsecure/insecure), 用于忽略证书相关异常 _[`issue #417`](http://issues.autojs6.com/417)_
* `优化` android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等颜色参数
* `优化` 内置模块相关方法实参类型的异常消息增加类型摘要信息
@@ -33,6 +37,12 @@
* `优化` 崩溃报告页面支持双指缩放调整字体大小并添加常用功能按钮
* `优化` 应用启动器图标支持自适应图标特性 _[`issue #405`](http://issues.autojs6.com/405)_
* `优化` Gradle 构建脚本提升 7z 格式文件的解压效率
* `优化` 使用版本目录 (Version Catalogs) 集中管理 Gradle 依赖和插件版本
* `优化` 模块化 Gradle 脚本, 将共享构建逻辑迁移至 buildSrc 并抽象为约定插件
* `优化` 使用 Toolchain 替代 sourceCompatibility/targetCompatibility 以降低构建环境差异
* `依赖` 本地化 Root Shell 版本 1.6
* `依赖` 本地化 Expandable Layout 版本 1.6.0
* `依赖` 本地化 Recyclerview Flexible Divider 版本 1.4.0
* `依赖` 附加 Androidx Core (KTX) 版本 1.15.0
* `依赖` 升级 Gradle 版本 8.14 -> 8.14.3
* `依赖` 升级 Apache Commons 版本 3.16.0 -> 3.18.0

View File

@@ -57,7 +57,7 @@ function sh_konquerorExec(s) {
DOM element started by the tag. End tags do not have this property.
@param inputString a text string
@param language a language definition object
@return an array of tag objects
@returns an array of tag objects
*/
function sh_highlightString(inputString, language) {
if (/Konqueror/.test(navigator.userAgent)) {
@@ -313,7 +313,7 @@ function sh_extractTagsFromNodeList(nodeList, result) {
the tag objects.
@param element a DOM element
@param tags an empty array; the extracted tag objects will be returned in it
@return the text of the element
@returns the text of the element
@see sh_highlightString
*/
function sh_extractTags(element, tags) {
@@ -386,7 +386,7 @@ function sh_mergeTags(originalTags, highlightTags) {
Inserts tags into text.
@param tags an array of tag objects
@param text a string representing the text
@return a DOM DocumentFragment representing the resulting HTML
@returns a DOM DocumentFragment representing the resulting HTML
*/
function sh_insertTags(tags, text) {
var doc = document;

View File

@@ -46,7 +46,6 @@ assert(isFunc(XMLList), 'XMLList()');
assert(isFunc(importClass), 'importClass()');
assert(isFunc(importPackage), 'importPackage()');
assert(isFunc(getClass), 'getClass()');
assert(isFunc(constructor), 'constructor()');
assert(isJavaPackage(Packages), 'Packages');
// @Test Rhino 1.7.15+ (SNAPSHOT on May 4, 2022)
@@ -333,7 +332,6 @@ assert(isFunc(classNameStartsWith), 'global.classNameStartsWith()');
assert(isFunc(scrollTo), 'global.scrollTo()');
assert(isFunc(scrollRight), 'global.scrollRight()');
assert(isFunc(setSelection), 'global.setSelection()');
assert(isFunc(selection), 'global.selection()');
assert(isFunc(bounds), 'global.bounds()');
assert(isFunc(columnSpan), 'global.columnSpan()');
assert(isFunc(cut), 'global.cut()');
@@ -359,7 +357,6 @@ assert(isFunc(filter), 'global.filter()');
assert(isFunc(depth), 'global.depth()');
assert(isFunc(longClick), 'global.longClick()');
assert(isFunc(exists), 'global.exists()');
assert(isFunc(progress), 'global.progress()');
assert(isFunc(toString), 'global.toString()');
assert(isFunc(idStartsWith), 'global.idStartsWith()');
assert(isFunc(getClass), 'global.getClass()');
@@ -547,13 +544,3 @@ assert(Numberx.clamp(20, [ 10, 30 ]) === 20, 'Numberx.clamp');
assert(Numberx.clamp(20, [ 10, 30, 40 ]) === 20, 'Numberx.clamp');
assert(Numberx.clamp(20, [ 20, 20 ]) === 20, 'Numberx.clamp');
assert(Numberx.clamp(20, [ 10 ]) === 10, 'Numberx.clamp');
assert(typeof Numberx.prototype === 'object', 'Numberx.prototype is object');
assert(isFunc(Numberx), 'Numberx is function');
// @Test i18n
assert(isFunc(i18n), 'i18n');
assert(isObjOrFunc(i18n.banana), 'i18n.banana');
assert(isFunc(i18n.loadAll), 'i18n.loadAll');
assert(noError(() => i18n.setLocale('zh')), 'i18n.setLocale');
assert(noError(() => i18n.getPath()), 'i18n.getPath');

View File

@@ -50,7 +50,7 @@
Object.setPrototypeOf(ResultAdapter, {
/**
* @param {org.autojs.autojs.runtime.api.ScriptPromiseAdapter} promiseAdapter
* @return {Promise<unknown>}
* @returns {Promise<unknown>}
*/
promise(promiseAdapter) {
return new Promise((resolve, reject) => {
@@ -61,7 +61,7 @@
},
/**
* @param {Promise<unknown> | org.autojs.autojs.runtime.api.ScriptPromiseAdapter} promise
* @return {*}
* @returns {*}
*/
wait(promise) {
if (!(promise instanceof Promise)) {

View File

@@ -222,6 +222,7 @@ class Files(private val scriptRuntime: ScriptRuntime) {
}
companion object {
@JvmStatic
fun join(parent: String?, vararg child: String?): String {
return PFiles.join(parent, *child)
}