Skip to content

XScript v0.2.4

Choose a tag to compare

@JackLuguibin JackLuguibin released this 15 Oct 00:15
· 304 commits to main since this release

XScript v0.2.4 正式版,使用与 v0.2.3 相同的 Release 密钥签名,可直接覆盖升级 v0.2.1–v0.2.3。主应用版本号 0.2.4,versionCode 6。

下载与安装

  • xscript-v0.2.4-release.apk:Android 8.0(API 26)及以上,包含 ARM64 和 x86_64。
  • SHA256SUMS:安装包 SHA-256 校验文件。
  • 从 v0.2.1–v0.2.3 正式版可直接覆盖安装;从 Debug 版切换需先导出项目再卸载(卸载会清除应用数据)。
  • 全新安装后需先授予通知权限,HTTP 服务才会启动。
  • 「管理后台」修复需要同时更新服务端(backend)。

修复

  • 高 · 管理后台权限:操作员可以手动运行、启停或删除管理员创建的「定时下发小程序」任务,相当于绕过管理员权限向设备下发代码;现在这四种操作都需要管理员。
  • 中 · 设备接口转发白名单:操作员可转发的 /projects/…/run 只校验前后缀,POST /projects/run 也能通过(在设备上会新建名为 run 的工程);现在必须是 /projects/<工程名>/run|stop|files|config。
  • 中 · 脚本退出码:raise SystemExit("错误信息") 被当作正常退出(0);现在与 CPython 一致,打印信息并以 1 退出。
  • 低 · 设备地址解析(MCP / VS Code 插件):带路径的地址(如 http://ip:9860/tools/)和 IPv6 地址解析错误;现在都支持。
  • 低 · 错误提示(MCP / VS Code 插件):设备返回的错误原因(如「工程已存在」)丢失,现在会显示在错误信息里。
  • 低 · mock 设备:读取 ../ 路径返回 404,与真实设备(400)不一致,已对齐。

测试

  • 新增:后台账号安全(会话、改密、API 令牌、两步验证滥用、设备密钥吊销、任务权限、转发白名单)、MCP 工具层与端到端、运行时 runner(退出码、日志、启动参数、线程)和 action / AScript 兼容层、VS Code 插件地址解析与日志跟随、Kotlin ScreenOptionsTest / DapTransportTest。
  • 用例数:后台 32 → 40,MCP 15 → 24,运行时 170 → 189,插件 3 → 10,Kotlin 71 → 77。覆盖率:后台 85% → 87%,MCP 66% → 86%,运行时 65% → 67%(runner 18% → 93%)。
  • coverage 加入后台和 MCP 的 test 依赖。

内部

  • /screen 参数解析拆为 ScreenOptions;DapTransport 端口可在测试中替换;VS Code 插件的日志跟随逻辑移到 client.ts。接口行为不变。

验证范围

  • Release 构建、签名证书(与 v0.2.3 一致)及 APK 元数据(0.2.4 / 6)校验通过。
  • scripts/verify.sh(运行时、后台、MCP、网页 IDE 浏览器测试、Kotlin 单元测试、VS Code 插件)全部通过。
  • 本 Release APK 已在 ARM64 Android 17 模拟器(emulator-5554)上 adb install -r 覆盖安装并回归:工程/文件接口冒烟测试、8 路并发新建(1 个 200,其余 409)、XS_DEVICE_URL 浏览器测试 12/12 通过。SystemExit 退出码修复只有单元测试覆盖,未在设备上单独验证。
  • /screen?max= 缩放只有单元测试覆盖(模拟器重装后未授予截屏权限)。未做真机验证。