Repository navigation
2.4.4
网易云 9.6.13 三项适配(UI-03 / UI-05 / EN-01 第二层)。三项均已在真机
25102RKBEC / Android 17 / LSPosed 2.2.1 / 网易云 9.6.13 验证。
修复
- 9.6.13 UI-03 首页模块净化:
MixContainerData.getResources()的元素是
com.netease.luna.cm.container.Block,旧逻辑只认DslBlock#getDslWrapperModel,
对 9.6.13 首页混排的NativeBlock/RnBlock完全不命中。现主匹配改为
Block.getPositionCode(),DslBlock保留 originData 正则兜底,NativeBlock
补充nativeData/originServerData兜底;隐藏清单新增 9.6.13 的 6 个
block code(PAGE_RECOMMEND_BANNER_0/GREETING/NOTE/
PODCAST_NARROW_SCENE/SEARCH_TOP_BANNER/SECONDARY_TAB)。
getBlockCodeOrderList()同步按隐藏清单过滤(只影响下一次分页请求)。
真机验证:配置的旧 30 项 code 命中时首页顶部对应卡片消失
(resources filtered 9/9)。 - 9.6.13 UI-05 底部导航精简:9.6.13 底栏列表构建点是
tf0.o$a#y(List<BottomTabInfoVO>, Z);旧的rh0.c.c返回的是
List<Drawable>(drawable 工厂),过滤它只会让图标错位、不能删 tab。
现改挂tf0.o$a#y过滤入参,state 与 drawable 同源缩短;tf0.o$a为
9.6.13 专属挂载点,按 Profile 门控(9.6.08 不查找,避免诊断误报)。
首页 Tab 始终保留:网易云主页面以首页为初始 tab,把首页从底栏删掉会让
导航初始化卡住、启动页一直不消失(真机复现并修复)。保留清单不再包含首页时
结果为「首页 + 保留清单」。
真机验证:保留{搜索, 关注}时底栏为「首页 / 搜索 / 关注」
(filtered from 4 to 3 tabs),正常进入首页。 - 9.6.13 EN-01 我的页自定义背景(第二层调度点):
MyMusicProxyFragment
类并未消失——9.6.08 的oc()Z(RN 门禁)在 9.6.13 改名为kc()Z,
而同名的oc()V只负责启动协程,旧 hook 对它返回 false 完全无效。
现改为 hookkc()Z返回 false 强制原生页(9.6.08 仍回退oc()Z),
并新增只读探针记录sg.s()结果与hc()最终创建的 Fragment。
修复 9.6.13 已失配的反射(pe()→pe(Activity);删除 9.6.13 不存在的
W1(boolean)/kd(String)分支,9.6.08 保留原路径)。
真机验证:kc=false强制原生页、sg.s=true、
hc fragment=MyMusicFragmentV4、本地背景贴图与内容区 scrim 全部生效。 - 共享基础设施(三项共用):9.6.13 运行时使用 Tinker
DelegateLastClassLoader(tinker_classN.apk),模块启动时的 ClassLoader
与运行时不同。现提供RuntimeHookBootstrap在首个Activity#onCreate
用运行时 ClassLoader 统一安装 UI-03 / UI-05 / EN-01(UI-04 已在 2.4.3
使用同机制);MountResolver缓存按 ClassLoader 隔离;HookState新增
entry(入口调用)计数并区分 hit(过滤生效)计数,运行时安装后重算
unavailable。 - 诊断:
getBlockCodeOrderList/getResources/getBlockList/
底栏列表构建入口均记录 entry;getResources无命中时按 10 秒限流打印
block 运行时类型与 positionCode 样本,便于后续版本适配。
已知限制
- 底栏保留清单无法去掉「首页」Tab(9.6.13 主页面初始化依赖首页,
强行删除会导致启动卡死);首页定制页新增的「云村 (social)」「发布
(publish)」按 tabCode 匹配 9.6.13 新增 tab。 - UI-03 的隐藏清单基于 9.6.08 的 30 个 block code;9.6.13 首页出现了
PAGE_RECOMMEND_SEARCH_TOP_BANNER/SEARCH_CHANNEL_ENTRY/
MORE_RCMD等新 code,需要在新版首页定制里勾选对应项才会隐藏。 - 「我的页背景」清除后宿主侧
validType=4注入不会回滚(与 2.4.2 一致),
清除后如仍显示背景可重启网易云。
验证
:app:testDebugUnitTest:195 个用例通过(新增 MountResolver ClassLoader
隔离、HookState entry/unavailable、UI-03 block 匹配、UI-05 过滤与
Profile 门控、EN-01 调度点选择);:app:lintDebug通过。- 9.6.13 挂载体检 145/145 OK;9.6.08 挂载体检 142/142 OK。
- 真机 25102RKBEC:冷启动
runtime hooks installed: 4/4,UI-03 / UI-05 /
EN-01 hook 链路全部命中,无 FATAL / ANR / hook failed。