使用
libxposed API 102、由 Kotlin 全量编写的哔哩哔哩增强 Xposed 模组
BBZQ 是一款适配 libxposed API 102 的哔哩哔哩功能增强模组,采用 Kotlin 完整实现实作,旨在去除不必要内容、优化核心体验,同时提供各类实功能。
模组通过 META-INF/xposed/java_init.list 完成入口注册,核心逻辑入口为 io.github.bbzq.BbzqModule;配套设置页面内嵌于哔哩哔哩宿主应用内,方便快捷开关各项功能、调整个性化参数,整体架构便于后续迭代维护与功能扩展。
| 包名 | 说明 |
|---|---|
tv.danmaku.bili |
哔哩哔哩 |
com.bilibili.app.in |
BiliBili 旧版 |
tv.danmaku.bilibilihd |
HD版 |
com.bilibili.app.blue |
概念版 |
- 净化分享 — 将
b23.tv/bili2233.cn短链还原为普通链接,并保留p、t等定位参数 - 普通链接分享 — 关闭小程序式分享(QQ / 微信),复制分享链接时尽量转换为 av 号形式
- 去除长按复制 — 禁用应用内各场景里长按后直接复制到剪贴板的行为,减少误触
- 长按自由复制 — 需先开启「去除长按复制」;拦截到复制动作时弹出可自由选择文本的窗口
- 跳过开屏广告 — 清理启动时的开屏广告响应,减少进入目标应用时的等待(默认开启)
- 移除首页推荐广告 — 过滤推荐流中的大横幅、信息流广告及广告推广视频
- 移除首页推荐图文 — 过滤推荐流中的图文动态卡片
- 阻止首页推荐自动刷新 — 阻止冷启动、长时间后台或从其他页面返回时自动刷新推荐流,保留手动刷新
- 自定义底栏 — 隐藏底部导航栏中不需要的入口;首次使用需重启 B 站并打开首页加载底栏数据,之后勾选保留项即可
- 屏蔽视频下方横幅广告 — 阻止视频详情页播放器下方横幅广告创建
- 跳过视频激励广告 — 自动尝试完成视频激励页(RewardAdActivity)
基于 BilibiliSponsorBlock 社区数据库,在视频播放时按片段时间轴自动跳过选定分类的内容。功能默认关闭,入口默认隐藏
支持的跳过分类:
| 分类 | 说明 |
|---|---|
| 赞助商广告 | 视频中的植入、口播和商业推广 |
| 自我推广 | UP 主引流、关注提醒、推广其他内容 |
| 片头 | 与正文关系不大的固定开场 |
| 片尾 | 结束卡、鸣谢和结尾引导 |
| 互动提醒 | 点赞、投币、评论等互动号召 |
| 预览 / 回顾 | 下集预告、前情提要和重复回顾 |
| 填充内容 | 与主线关系较弱的灌水片段 |
| 离题音乐 | 与内容无关的纯音乐或演奏片段 |
片段数据按视频 BV 号的 SHA-256 前缀向 bsbsb.top API 查询,结果缓存 5 分钟,仅匹配当前分 P 的 cid。
- 净化竖屏视频广告 — 按标签过滤竖屏视频流中的广告、购物和推广内容,并统计累计拦截条数
可选过滤标签:广告、短剧、购物、电视剧、纪录片、娱乐、电影、音乐、话题
- 安装模组 APK
- 在支持
libxposed API 102的框架(如 LSPosed)中启用模组 - 将哔哩哔哩加入作用域
- 重启目标应用
- 我的 → 设置 → 高级设置
- 启用你需要的功能
桌面图标是模组自身介绍页,不是独立的调试工具。
空降助手入口隐藏于「关于」分组,双击版本号后显示。
环境要求
| 项目 | 版本 |
|---|---|
| JDK | 21 |
| Android Gradle Plugin | 8.13.1 |
| Kotlin | 2.4.0 |
| Gradle Wrapper | 8.14.4 |
Debug 构建
./gradlew assembleDebug
# 输出:app/build/outputs/apk/debug/app-debug.apkRelease 构建
./gradlew assembleRelease
# 输出:app/build/outputs/apk/release/app-release.apk
# app/build/outputs/apk/release/bbzq_v<releaseName>-<commitCount>.apkRelease 构建需提前配置签名参数。
app/src/main/java/io/github/bbzq/
├── BbzqModule.kt # libxposed API 102 模组入口
├── ModuleSettings.kt # 所有配置键与默认值
├── ModuleSettingsBridge.kt # 模组与宿主进程之间的设置桥接
├── ModuleSettingsProvider.kt # ContentProvider 跨进程读取设置
├── SettingsActivity.kt # 模组设置页 Activity
├── SettingsContentFactory.kt # 设置页内容构建
├── RuntimeEnvironmentInfo.kt # 运行时环境信息
└── roaming/
├── RoamingRuntime.kt # Hook 调度与进程分发
├── BilibiliSponsorBlock.kt # 空降助手 API 客户端与缓存
├── Reflect.kt # 反射与 DexKit 辅助
├── Api102Hook.kt # API 102 Hook 基类
└── hook/ # 各功能独立 Hook 实现
- 设置入口依赖宿主设置页结构,大版本更新后可能不会及时适配
- 自定义底栏需重启 B 站并打开首页后才能读取到底栏项目数据
- 暂不计划支持地区解锁功能
本项目使用木兰公共许可证,第 2 版(Mulan PubL v2)。 完整授权见 LICENSE。