使用
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 社区数据库,在视频播放时按片段时间轴自动跳过选定分类的内容。功能默认关闭,入口默认隐藏
支持的跳过分类:
| 分类 | 说明 |
|---|---|
sponsor |
赞助商广告,付费推广、推荐和直接广告 |
selfpromo |
自我推广,UP 主引流、关注提醒、推广其他内容 |
interaction |
互动提醒,点赞、投币、评论等互动号召 |
intro |
片头,与正文关系不大的固定开场 |
outro |
片尾,结束卡、鸣谢和结尾引导 |
preview |
预览回顾,下集预告、前情提要和重复回顾 |
music_offtopic |
离题音乐,与内容无关的纯音乐或演奏片段 |
poi_highlight |
精彩片段高光,值得直接空降或重点标记的内容 |
filler |
填充内容,与主线关系较弱的灌水片段 |
exclusive_access |
独家访问抢先体验,用于整段视频标签 |
片段数据按视频 BV 号的 SHA-256 前缀向 bsbsb.top API 查询,结果缓存 5 分钟,仅匹配当前分 P 的 cid。
- 净化竖屏视频广告 — 按标签过滤竖屏视频流中的广告、购物和推广内容,并统计累计拦截条数
可选过滤标签:广告、短剧、购物、电视剧、纪录片、娱乐、电影、音乐、话题
- 安装模组 APK
- 在支持
libxposed API 102的框架(如 LSPosed)中启用模组 - 将哔哩哔哩加入作用域
- 重启目标应用
- 进入
我的 → 设置 → 高级设置 - 启用需要的功能
桌面图标是模组自身介绍页,不是独立的调试工具。
双击 版本 有隐藏的秘密。
环境要求
| 项目 | 版本 |
|---|---|
| JDK | 21 |
| Android Gradle Plugin | 9.2.1 |
| Kotlin | 2.4.0 |
| Gradle Wrapper | 9.4.1 |
Debug 构建
./gradlew assembleDebug
# 输出:app/build/outputs/apk/debug/app-debug.apkRelease 构建
./gradlew assembleRelease
# 输出: 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 # 运行时环境信息
└── feats/
├── RoamingRuntime.kt # Hook 调度与进程分发
├── BilibiliSponsorBlock.kt # 空降助手 API 客户端与缓存
├── Reflect.kt # 反射与 DexKit 辅助
├── Api102Hook.kt # API 102 Hook 基类
└── hook/ # 各功能独立 Hook 实现
- 设置入口依赖宿主设置页结构,大版本更新后可能不会及时适配
- 自定义底栏需重启 B 站并打开首页后才能读取到底栏项目数据
- 空降助手与 AccessKey 入口需要在版本号处双击才会显示
- 暂不计划支持地区解锁功能
本项目使用木兰公共许可证,第 2 版(Mulan PubL v2)。 完整授权见 LICENSE。