v3.7.1
ColorOS Live Lyrics Bridge v3.7.1
v3.7.1 修复两项关键问题:ColorOS 16.0.10.x(OPPO X9s Pro 等新版本系统)的 SystemUI
private-hook 解析失效,以及 v3.7.0 引入的普通逐行歌词"实时行高亮消失"。Bridge 的外部歌词
v4 协议、Provider 准入规则与既有 AOD/渲染行为保持兼容。
SystemUI 兼容修复(ColorOS 16.0.10.x)
- 新版本系统界面(版本号仍为 16.99.12/169912,但媒体 RUS 管理器已重构)中,
OplusMediaRusUpdateManager.getRusWhiteList()被删除、saveListToSP变为静态 10 参数、
updatePkgActionsRule由 5 个 Map 增至 6 个 Map,白名单改经 Kotlin data class
MediaRusConfig.getWhiteList()暴露,并新增与getLyricEntrance同形的
getLyricEnable(String)。 - Bridge 的 DexKit 目标解析升级为"双锚点集 + 新旧形态兼容":
- RUS 管理器类使用
anyOf双锚点集,16.0.9.x 与 16.0.10.x 各自唯一命中; saveListToSp/updatePkgActionsRule谓词同时接受新旧两种签名;- 白名单 getter 按构建变体选择(
getRusWhiteList或MediaRusConfig.getWhiteList),
后者按精确方法名解析以避免 Kotlin data class 的componentN歧义; getLyricEntrance按方法名排除同形的新增getLyricEnable;- legacy 反射回退路径同步容错,解析日志新增
rusVariant(OLD/NEW)便于排查。
- RUS 管理器类使用
- 16.0.9.x 及更早构建的目标解析行为保持字节级一致,无回归。
实时行高亮修复
- 修复 v3.7.0 回归:普通逐行歌词(无逐字时间戳)的实时行不再以 100% 不透明度高亮,
与相邻行不透明度一致。根因是 v3.7.0 将激活行绘制改为仅在 AOD 低帧率填充时使用
activePaint,而无词行无法进入逐字 reveal 路径。 - 恢复激活行整行高亮:
drawCompactLine与drawSegment在无逐字进度时以activePaint
绘制实时行;lineTimedProgressEnabled(普通逐行歌词进度)开启时无词行同样回退整行
高亮,不再出现"开关开着反而没有高亮"。 - 带逐字时间戳的歌词仍走逐字 reveal,主色仅用于逐字覆盖与扫光;AOD 低帧率整行填充
行为不变。
LyricProvider
- 本次无 Provider 功能变更;全部 Provider APK 仍随 Release 附带,供按需更新。
兼容与验证
- 外部歌词协议仍为 v4;现有 Provider 的 source / playerPackage / senderPackage /
senderKind 静态白名单校验不变。 - 未修改官方 Renderer 的 AOD 切换时序、
LyricsRecyclerViewprime 或普通TextView
Hook 范围。 scripts\dev.cmd bridge testDebugUnitTest assembleDebug通过(42 套件 / 412 项测试
0 失败)。- SystemUI 兼容修复:16.0.9.x(PJZ110)真机验证
rusVariant=OLD全链路正常;16.0.10.500
(OPPO X9s Pro)真机验证歌词接收、词幕模型缓存、官方渲染与 AOD 正常,并完成
MediaRusConfig新白名单 getter 与六 Map 规则更新路径验证。 - 实时行高亮修复:开发者设备与反馈用户真机实测通过(普通逐行歌词实时行恢复 100%
不透明度;带逐字歌词与 AOD 无回归)。
升级说明
- 更新 Bridge 为
ColorOS-Live-Lyrics-Bridge-v3.7.1.apk;如使用对应播放器 Provider,
建议从同一 Release 同步更新 Provider APK(本次无功能变更,可按需)。 - 更新后重启对应播放器进程;如 LSPosed 仍加载旧模块,请重启设备。
- ColorOS 16.0.10.x 用户本次为必须升级:旧版本在该系统上 SystemUI hook 无法安装,
锁屏歌词整体失效。
Release 资产
ColorOS-Live-Lyrics-Bridge-v3.7.1.apkLyricProvider-QQMusic-v3.7.1.apkLyricProvider-163Music-v3.7.1.apkLyricProvider-AppleMusic-v3.7.1.apkLyricProvider-Poweramp-v3.7.1.apkLyricProvider-Spotify-v3.7.1.apkLyricProvider-QiShui-v3.7.1.apkLyricProvider-KuGou-v3.7.1.apkLyricProvider-LXMusic-v3.7.1.apkLyricProvider-Metrolist-v3.7.1.apkLyricProvider-v3.7.1.zip
Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。
