Skip to content

Releases: SuperMonster003/AutoJs6-Plugin-MediaInfo

AutoJs6-Plugin-MediaInfo v2.0.0 (2026/08/31)

Choose a tag to compare

@SuperMonster003 SuperMonster003 released this 01 Sep 01:31
Immutable release. Only release title and notes can be modified.
636a83c

v2.0.0 已通过 PR #1 合入 master;Release 与标签目标为合并提交 636a83cf024725c049367d43c849c727a4a93aec。五个 APK 的服务器端大小与 SHA-256 已在发布前复核。

版本要点

  • 原生解析引擎从冻结的 MediaInfoLib 0.7.83 切换为官方 MediaArea 源码构建:MediaInfoLib 26.05(f23e69ce89581343f3b7a42e06828a5331e290d5)与 ZenLib 0.4.41(894980d3ecbc843d6ac685493f8f2ed5c2b6864c)。
  • 四种 ABI(arm64-v8a、armeabi-v7a、x86、x86_64)及 universal APK 均由固定源码、Android NDK 29.0.14206865 与 CMake 3.22.1 可复现构建;来源锁、许可证、APK 内 provenance 和 ELF 审计已纳入门禁。
  • 增加官方稳定版每周/手动检查流程:只生成固定版本的 Draft PR,检测上游标签移动,不会自动合并或发布。
  • 修复 R8 对 JNI 包装类/方法的改写风险,并通过实际 minified Release APK 的公开 AIDL round-trip 测试。
  • 保留 v1.1.0 已加入的常规 FD 直读、保守的进程内 LRU/10 分钟滑动缓存、超时/取消与 pipe 私有副本回退。

兼容性与已知差异

  • v1.1.0 永久固定 MediaInfoLib 0.7.83;从 v2.0.0 起采用官方源码的固定版本更新路线。
  • 对外 AIDL、informgetautojs6-plugin-mediainfo-snapshot-v1 契约保持不变。
  • 使用同一批 4 个真实媒体样本比较 0.7.83 与 26.05:容器格式和有效核心流保持一致;日期/单位规范化、字段重命名、AAC 细化、H.264/VP9 HDR/色彩、FLAC 校验和与封面图元数据等差异均确认来自上游增强,无需兼容 shim。
  • 损坏 MP4 仍识别为 General-only MPEG-4;26.05 不再输出旧版的 IsTruncated=Yes,该字段视为非稳定诊断信息。
  • 原生 Output=JSON 集成明确延后至 v2.1.x;v2.0.0 继续使用当前文本解析器生成 snapshot-v1。

验证摘要

  • 提交 7592560287f6d9125f7b7b8188b1775d05a91a80 的 push 与 pull_request CI 全绿:Markdown、单元测试、Debug/Release 构建、四 ABI 打包审计、API 35 x86_64 minified Release smoke 与 connectedDebug 均通过(6/6 checks)。
  • 发布后回归同样全绿:master 合并 push(Build / Markdown)与 v2.0.0 标签 push(Build / Markdown)共四个 workflow 均为 success;两组 minified Release 均再次输出 OK (1 test) 并完成 connectedDebugAndroidTest
  • 本地最终生产构建:129 个 actionable tasks、121 个实际执行,BUILD SUCCESSFUL(637 秒);签名证书 SHA-256 为 31a681fcfffb3e428420cae280ded89292b12a3b0f59e19b7a73e32a8ae4c213,与 v1.1.0 一致。
  • 四 ABI ELF LOAD 对齐为 0x4000(16 KB),唯一导出符号为 JNI_OnLoad;动态依赖限定为 libc/libdl/libm/libz。
  • QV710AF65F(Sony XQ-AT72,API 31)安装并运行发布目录中精确字节的 ARM64 与 ARM32 APK:设备端 SHA-256、版本 2.0.0/10 均匹配,两个 Release smoke test 均为 OK (1 test),每轮后应用与测试包均已删除。
  • QV770340J7(Sony XQ-DQ72,API 33)经显式大文件授权验证 19.37 GiB MP4 与 77.97 GiB MKV:冷/缓存结果一致,冷解析分别为 137.417 ms 与 177.211 ms;测试副本均已立即清理。

APK 与 SHA-256

ABI 文件 字节数 SHA-256
arm64-v8a autojs6-plugin-mediainfo-v2.0.0-arm64-v8a-69e544cf.apk 2,951,111 d8d7c289c78f61aabbe459196475d5630618ca9b0e9d8ab865995a8d8d84bc7f
armeabi-v7a autojs6-plugin-mediainfo-v2.0.0-armeabi-v7a-40397d24.apk 2,721,393 c1ea25922acbef6fc290a18520555c580f2ed917b2c76936735960447ccba25c
universal autojs6-plugin-mediainfo-v2.0.0-universal-69a8a908.apk 11,715,225 f33bb09fad708635bee0776ba2a0a00220761d280f25e72fe07cb710efc6c3f8
x86 autojs6-plugin-mediainfo-v2.0.0-x86-70ec1b9b.apk 3,338,929 83ab907437f3736cc84cb411f1624aefef814ca391b01ca5942bd13a627ef3f6
x86_64 autojs6-plugin-mediainfo-v2.0.0-x86_64-9cd62670.apk 3,073,544 eadfd1f89047017e7459aa0865875cbff0b1fb31cb08d19978e27ceb5e563f5b

可追溯记录

1.1.0 @ 2026/08/31

Choose a tag to compare

@SuperMonster003 SuperMonster003 released this 31 Aug 08:21

主要更新

  • 新增 免整文件拷贝解析: 可随机访问的常规文件描述符通过 /proc/self/fd 交由 MediaInfoLib 直读, 管道或直读失败时才使用私有临时副本
  • 新增 进程内结果缓存: API 27+ 对完整报告, 字段查询与快照采用稳定文件身份, LRU, 10 分钟滑动有效期及低内存清理, 避免重复解析
  • 新增 协作取消与超时: 每次 AIDL 调用设有 30 秒上限, 超时中止原生解析或回退复制, 释放临时资源并返回 MEDIAINFO_TIMEOUT
  • 修复 修复大文件常规描述符被不必要地整文件复制的问题, 并保证成功, 失败, 参数校验, 取消和超时路径均关闭描述符与回退文件
  • 修复 修复缓存对快速文件修改的识别精度: 使用纳秒级 mtime / ctime, 并在 API 24-26 保守禁用缓存复用
  • 优化 ABI 上报按已安装 base / split APK 中实际存在的 libmediainfo.so 动态生成, 并保留安全的进程 ABI 回退
  • 优化 增强快照小节解析, 正确处理重复和编号流, 畸形行, 值内冒号, 重复字段与独立输出选项
  • 优化 加入可复现的合成基准与真实媒体验证工具, 并记录 x86, x86_64 与 ARM64 的完整性能基线
  • 优化 重建 10 语言 README, 插件使用说明与更新日志生成链路, 加入漂移校验和 GitHub Actions 门禁

发布验证

  • GitHub Actions: Build integrityMarkdown integrity 全部通过
  • JVM 单元测试 26/26 通过; API 36 x86_64 模拟器服务发现与 Binder 往返测试 3/3 通过
  • API 29 x86, API 31 ARM64 与 API 36 x86_64 完整合成基准通过; ARM64 真实媒体矩阵通过
  • QV770340J7 实体机验证 19.37 GiB MP4 与 77.97 GiB MKV: 冷解析分别为 137.417 ms 与 177.211 ms, 缓存命中分别为 0.258 ms 与 0.480 ms; 冷/热结果一致, 测试媒体已清理
  • 五个 APK 均为 versionName=1.1.0, versionCode=9, 使用与 v1.0.0 相同证书签名并通过 16 KiB ZIP 对齐验证

APK SHA-256

安装包 SHA-256
autojs6-plugin-mediainfo-v1.1.0-arm64-v8a-9cd4ab29.apk c75f71667cba5b3275dd19e899cca4610babea7350b2b8473ae3dd701a16962f
autojs6-plugin-mediainfo-v1.1.0-armeabi-v7a-be9a4163.apk cfd7846f48e173cddeafbe20d857c672df416ce86ee67c173c7841b5c704e988
autojs6-plugin-mediainfo-v1.1.0-universal-70737cf9.apk a495e49bbfa75af5691bd42e6a834735af1d22fd4235f03e5f9fc6b677249f1c
autojs6-plugin-mediainfo-v1.1.0-x86_64-d9c7c1f3.apk 8fb79fbef75dc3e97ec40ad56efd824f4fe378457176c24b415216aa0d6ad5c1
autojs6-plugin-mediainfo-v1.1.0-x86-00b286eb.apk 669e0ee418a1357c98696f3606f7c2c6707c3f9472df9b8a743c95c11f38b1b7

1.0.0 @ 2026/07/15

Choose a tag to compare

@SuperMonster003 SuperMonster003 released this 15 Jul 13:50
  • 新增 MediaInfo 插件服务, 插件 ID 为 mediainfo, 引擎为 mediainfo
  • 新增 支持通过 org.autojs.plugin.MEDIAINFO 发现并调用插件
  • 新增 支持 inform/get/snapshot 能力, 可生成完整媒体报告, 查询单个参数, 输出结构化 JSON 快照
  • 新增 内置 arm64-v8a/armeabi-v7a/x86_64/x86libmediainfo.so, 并支持 universal 通用包
  • 新增 插件运行时信息上报支持的 ABI 列表, 发布 APK 文件名包含版本号/ABI 变体和 CRC32 摘要
  • 新增 插件信息, 使用说明, README 与 CHANGELOG 的多语言资源: 西班牙语/法语/俄语/阿拉伯语/日语/韩语/英语/简体中文/香港繁体/台湾繁体