Repository navigation
Releases: bldf1/KuGouLitePlus
Release list
v1.2.3
修复
- 设置页三行标题被误藏:搜索推广规则短词全 app 匹配,隐私设置页三行标题只剩开关。新增 excludeTextKeywords / requireActivityName 通用门禁,搜索规则收紧。
- 后台回前台再次进入启动页:元凶是 ForeSplashActivity(前台切入专用启动页),按进程启动时长区分,回前台直接跳主界面。冷启动不变;回前台仍可能闪过 1 帧启动图(已知残留)。
- 播放页「换场景」面板弹不出(部分机型):面板场景卡带「限免」标签被弹窗拦截关键词整层拦掉。已加「切换场景」白名单,四处判定全部排除。
- 个人主页「收藏」子 tab 无法进入:推广页翻页拦截的页数门禁误伤个人主页故事子 tab(同样 3 页),点「收藏」被改写。现加祖先链判定:pager 祖先含 FragmentViewHome 主容器才拦截。
优化
- 个人主页/收藏卡顿:周期巡检 4s → 8s,门禁重算与全树扫描交替执行,主线程单次占用减半(实测平均 8.45ms → 1.37ms,峰值 14ms → 9.5ms)。
其它
- 新增全模块 hook 的 debug_skip_* 运行时二分开关,便于排查。
- 删除死代码 isPlayerHeader。
v1.2.2
修复
- 播放页「更多」菜单点开一次后再也打不开:拦截词里含「充值/续费」,而该菜单顶部有「会员1天后过期,续费享完整畅听」、右上角有「¥1续费」,整个菜单被当推广弹窗拦掉。已移除这两个页面内常见词。
- 播放页切歌后顶栏残留半透明标题:书签容器隐藏时开启了「alpha 保险」(把 alpha 置 0),打断了宿主切歌的淡出动画。已去掉。
- 播放页书签:改用 INVISIBLE 占位隐藏——视觉消失但布局仍占位,标题栏保持对称,标题自然居中。
- 冷启动崩溃:addViewInLayout 的 hook 未透传 boolean 返回值,框架强转时崩溃。已修复。
- 发现页听歌识曲被误伤:dln 是跨页复用 id(播放页=书签、发现页=听歌识曲),已回退按 id 隐藏。
完整说明见 CHANGELOG。
v1.2.1
修复
- 部分机型悬浮底栏跑到屏幕最上方 / 右侧显示不全:几何参数用了相对父容器顶部的 TOP + topMargin,父容器是整屏容器的机型会把胶囊顶到屏幕最上面。已改为按父容器高度分流:底栏本体用原方式,全屏容器改用 BOTTOM 贴底。
- 胶囊高度/位置与 1.0 不一致:LayoutParams 改为按原类型克隆重,在底栏父容器里拿到的是 ConstraintLayout.LayoutParams,其垂直约束接管了高度和位置。已回到 1.0 的写法。
新增
- 搜索页只保留中间圆形封面:二级页隐藏胶囊后把转盘单独显示在窗口顶层,播放页收回;从播放页返回会重新显示。
完整说明见 CHANGELOG。
v1.2
修复
- 搜索页「查看更多单曲」切到「歌曲」却显示视频列表:推广页翻页拦截把搜索页 tab 的切页请求改写了,现已加页数门禁,只拦目标 pager。
新增
- 搜索页只显示中间圆形封面:进搜索页时胶囊隐藏,只保留中间的转盘;离开时按原位置装回,播放页不受影响。
- 去搜索页频道推荐:隐藏搜索页下方的频道推荐区(推荐/周榜/次元… tab 及卡片列表)。
- 去频道发帖引导条:在创建点拦截频道详情页的发帖引导浮层。
优化
- 底栏 / 发现页文字角标补充
at7。 - 悬浮底栏消费触摸:点胶囊空白处不再误触底下的卡片。
完整说明见 CHANGELOG。
v1.1
v1.1
适配低版本 Android(重要)
此前 APK 声明的是 minSdk 36(Android 16),等于只有最新系统能安装 ✗。
现在改为 Android 8.1(API 27)及以上,同时把 targetSdk 从预览版号 37 改成正式的 34。
为此处理了 9 处高版本 API 调用(全部加了版本守卫或改用等价 API),静态检查(lint)已全绿:
| 原位用的 API | 处理 |
|---|---|
Application.getProcessName(API 28) |
低版本退回 applicationInfo.processName |
WindowInsets.Type.systemBars() / Insets.bottom(API 29/30) |
低版本退回 systemWindowInsetBottom |
Outline.setPath(API 30) |
低版本改用等价的 setConvexPath |
新增「屏蔽任务 / 赚钱推广」开关(默认开启)
每天首次打开时会出现两处一闪而过的推广元素:金币飞入动画、「即将过期」提醒。
它们来自「赚钱」推广页,且不在页面视图树里(或是一次性动画),视图层的隐藏规则够不到 ✗。
现在改为在网络层让 APP 认为"没有任务 / 没有到期提示",从源头消除:
拦截 lite_v_youth_task_center、lite_v_vip_center、get_vip_tips、task_center/card_list、
activity/task_list 等路径。
面板「界面净化」组新增同名开关,可随时关闭。
刻意不拦签到状态与运营配置接口,避免影响签到/领取。
修复
-
低版本设备「安装包损坏」的问题:此前 minSdk 是 36(Android 16),在低版本系统上安装时,
安装器报的是 「安装包损坏 / 解析失败」(而不是"系统版本过低"),很容易被误判成文件坏了 ✗。
本次降到 Android 8.1 后,这类设备可以正常安装 ✓ -
修正面板「关于」里的仓库链接(此前指向作者主页,现指向仓库)
-
修正两处代码规范问题(lint 全绿)
升级说明
- 签名与 v1.0 一致,可直接覆盖安装 ✓
- 若之前装的是 v1.0,本次为小版本升级,配置与开关状态全部保留
v1.0
酷狗概念版+ v1.0
LSPosed 模块:为酷狗概念版(com.kugou.android.lite)提供每日 VIP 自动领取、界面净化去广告、悬浮胶囊底栏、词幕歌词提供等增强功能。
安装后长按底栏 0.8 秒呼出设置面板,全部开关即改即生效、无需重启。
本版修复
播放页视频 / 弹窗广告彻底拦掉
此前广告在视图层被隐藏,但那块 1220×2169 的整屏蒙层已经画出来才被藏(日志实锤 已绘制=是),所以会一闪而过。
本版改为在网络层对广告网关接口返回"成功的空响应" ⇒ 广告 SDK 解析出"无广告" ⇒ 压根不会创建广告视图。
我的页顶栏「赚钱入口」不再间歇出现
上一版用了过宽的门禁(按控件类名排除),把真目标一起废掉了。本版按祖先链精确区分
(发现页顶栏的「乐库」与我的页顶栏的「赚钱入口」同类同 ID,只能靠祖先链区分)。
消除多处「元素闪一下再消失」
定位到共同机理:挂载期先藏 → 复核/切页时被还原 → 画出来 → 下次扫描再藏。本版从两头断掉:
- 复核还原加保护:没量出尺寸时不采信几何门禁结论(不再"误判失败就还原")
- 去掉多余的页面门禁:它会在切页时把已隐藏的视图还原一次
- 复核还原补上日志,以后再出现"谁把它放回来的"可直接查
播放页书签闪现已修好
打开播放页时那一条书签栏会闪一下。真机 dump 定位到:该节点走的是两条我们从未 hook 的
"加入父容器"路径(addViewInLayout / attachViewToParent —— 自定义容器与 RecyclerView 复用正是走这两条),
所以它错过了挂载期的预隐藏。补上这两条路径后,该视图能在尺寸还是 0 时就被隐藏。针对"宿主随后把已隐藏视图复活"这一残留路径,又加了 alpha 保险:隐藏时同时把 alpha 置 0 —— 宿主复活只改 visibility、碰不到 alpha,所以即使被复活也是全透明。
真机验证:被复活那一帧的日志是 已绘制=是 严格=是 alpha=0.0 129x120 ⇒ 画了但用户看不到;并且"把该开关关掉后书签栏能正常显示"也已在真机确认。
经 dumpsys gfxinfo 实测(20 次连续上滑、大量列表复用):0 丢帧、99 分位 11ms,无性能代价。
两个「死开关」修好
去播放页书签 与 去每周福利条 这两个开关此前被错挂到了「去播放页广告」的开关上,
点了没有任何作用。现在各归其位(对面板 45 个开关做了实现引用审计,死开关数 = 0)。
新增「绘制前兜底」
即使宿主用未知路径把已隐藏的视图放回来,也会在本帧绘制之前被按回去 —— 用户看不到那一帧。
不触发时零开销。
本版变更
- release 包改用专用签名:签名从此稳定(此前用机器绑定的 debug keystore,换机器构建就变签名、用户只能卸载重装)
- 仓库地址:https://github.com/bldf1/KuGouLitePlus
安装
- 设备需已安装 LSPosed(或兼容 libxposed API 102 的实现)
- 安装本 APK → 在 LSPosed 中启用「酷狗概念版+」→ 作用域勾选
com.kugou.android.lite - 打开酷狗概念版,长按底栏 0.8 秒呼出设置面板
兼容性
- 面向 酷狗概念版
com.kugou.android.litev5.2.9 开发与验证 - 测试机:小米 22081212C / Android 16 / HyperOS / 1220×2712
- 需要 libxposed API 102(
minApiVersion=102)
免责声明
本模块仅供个人学习与技术研究。请在自己有权使用的账号与设备上使用,不得用于商业用途或侵犯他人权益。
使用前请自行评估风险。