Bilibili Innocent Lab

面向 Android 哔哩哔哩客户端的界面净化与交互增强模块

基于 Xposed / LSPosed、YukiHookAPI 与 KavaRef 构建,作用于官方 Android 客户端 tv.danmaku.bili

下载 Release · 提交问题


项目简介

Bilibili Innocent Lab,是一个面向 Android 哔哩哔哩客户端的 Xposed/LSPosed 模块。项目的主要目标,是在尽量保持客户端原有视觉结构和操作习惯的前提下,对部分影响使用体验的界面内容进行净化,同时补全评论、视频简介、第三方扩展兼容和版本适配等方面的交互能力。

Tip

建议搭配哔哩漫游食用效果更佳,本模块一并为其提供了高版本宿主兼容设置。

本模块并不是一个独立的哔哩哔哩客户端,也不会替代官方应用。它以运行时 Hook 的方式加载到目标应用进程中,对特定界面、数据绑定和交互入口进行有限修改。用户仍然使用原有的哔哩哔哩账号、播放器、推荐系统、评论区和视频详情页,只是在模块启用后,可以根据自己的需要开启或关闭相应功能。

项目强调“可选择、低侵入、可恢复”。绝大多数功能都提供独立开关,用户可以只启用自己需要的部分;模块不会要求所有功能必须同时开启。对于实验性功能,设置界面会给出明确提示,便于用户根据当前客户端版本和设备环境自行决定是否使用。

由于哔哩哔哩客户端会持续更新,内部类名、方法签名、布局结构和数据模型也可能发生变化,本项目加入了运行时版本适配、适配结果缓存和手动重新适配机制,尽可能降低客户端升级后功能整体失效的概率。但任何基于 Hook 的模块都无法保证永久兼容所有未来版本,使用前仍建议阅读版本说明和已知问题。

为保证项目稳定维护,请勿将本项目相关内容以包括但不限于以文件,文本,图标,链接,图片,视频,代码等形式在公开的社交媒体进行不定向传播。

本项目为非盈利性项目,不会以任何方式收取软件服务费用,不会以任何方式在未经同意的前提下主动获取并传输您的个人信息,若您怀疑从其他渠道获取的文件与以上宗旨相违背,请务必对照对应版本Release HASH,若您发现文件HASH不一致,则该文件可能经过第三方篡改,本项目无法保证其安全性,若您已知并继续使用,由此带来的一切风险与后果请自行承担。

ROOT权限特别说明

若可能,请授予本模块ROOT权限,以实现以下功能:

1.确认保存并重新启动哔哩哔哩;

本说明将会跟随版本更迭即时修改,始终保证ROOT权限使用透明化,项目承诺不会滥用ROOT权限进行任何危害宿主设备的行为,详细参见项目最新开源代码


界面净化

隐藏视频提及区域中的游戏推广

部分带有游戏标签或相关内容的视频,会在详情页“视频提及”等区域展示额外的游戏推广卡片。启用该功能后,模块会在目标数据进入界面前进行识别和过滤,尽量保留正常的视频信息,同时隐藏对应推广内容。

该功能只针对已经识别的目标卡片,不会修改视频本身、播放器、评论区或账号数据。由于客户端不同版本可能采用不同的数据模型,模块同时保留了兼容入口和失败保护;未命中目标结构时会直接放行,而不是对未知对象进行强制修改。

隐藏 UP 主分享好物推广

视频详情页可能展示“UP 主分享好物”等商品推广内容。启用后,模块会隐藏已识别的商品推广区域,让简介、标签和其他详情信息保持更加简洁的排列。

此功能仅处理相应推广模块,不会屏蔽普通简介文字、视频标签、合集信息或评论内容。若客户端未来更换了推广卡片结构,功能可能暂时失效,但不应阻止视频详情页正常加载。

隐藏首页大卡轮播推荐

首页顶部或推荐流中可能出现占用较大展示空间的轮播卡片。该功能用于补全部分第三方环境下已经失效的首页大卡净化能力。

启用后,模块会尝试在轮播数据进入首页布局之前进行处理,减少大型卡片对首页浏览节奏的干扰。由于首页推荐结构经常随客户端版本变化,该功能的实际效果可能与哔哩哔哩版本、账号实验分组和地区配置有关。

隐藏暂停页广告

模块提供暂停页广告屏蔽能力,用于尝试处理视频暂停后出现的部分广告内容。该功能在v1.0.7-alpha.3v1.0.6前仍归类为实验性功能,在此之后转为正式功能并归类在“净化”下。效果可能受到客户端版本、账号实验分组、播放器类型和广告下发策略影响。

若开启后出现屏蔽行为异常、播放器控制层不完整或其他兼容问题,请先关闭该开关并重启哔哩哔哩。该功能不建议作为首次安装后的默认测试项目,应先确认基础净化和自由复制功能运行正常。


评论与简介自由复制

评论区自由复制

官方评论区的长按行为在不同版本中可能表现为复制全文、打开特定菜单,或者只能执行有限操作。模块提供了独立的评论自由复制能力:长按评论文本后,会在当前内容附近显示一个可选择文字的气泡,用户可以继续长按并拖动系统选择句柄,自由选择需要的文字片段,然后使用系统复制工具栏完成复制。

自由复制支持普通评论、较长评论、展开后的评论以及部分回复列表。模块会尽量读取评论数据中的完整原文,避免只复制折叠状态下屏幕上显示的截断内容。对于表情占位、换行和特殊文本结构,也会尽量保留可读形式。

评论区采用 RecyclerView 动态复用结构。为了避免快速滚动、展开回复和加载带图评论时产生明显卡顿,模块对绑定过程进行了专门调度:

  • 滚动过程中只记录需要处理的评论,不集中执行全树绑定;
  • 滑动停止后,在主线程空闲间隙分批完成处理;
  • 优先处理最近进入当前视口的评论;
  • 长按手势进行期间暂停批量操作,避免与气泡动画争用帧预算;
  • 使用弱引用保存评论根节点,降低页面切换后的引用残留风险;
  • 对图片、按钮和媒体点击容器保留宿主原有触摸行为。

带图评论的图片点击区域不会被自由复制监听器接管。用户长按正文并关闭复制气泡后,仍然可以正常点击评论图片进入预览。

视频简介自由复制

除评论区外,模块也支持长按视频详情页简介。触发后使用与评论区一致的自由复制气泡,用户可以选择简介中的部分文字,而不必复制整段内容。

简介在不同客户端版本中可能采用不同的可展开文本组件,因此模块使用运行时资源 ID 和通用触摸入口进行识别,并对多个已知版本的官方复制路径提供兼容处理。简介处于折叠状态时,模块会优先尝试读取完整原文,避免只获得界面上被省略的部分。

简介文本还会进行适度整理,包括:

  • 统一不同形式的换行符;
  • 清理尾部多余空白和空行;
  • 处理部分由图标或 ReplacementSpan 产生的占位字符;
  • 避免不可见占位内容在复制气泡中变成多余字母;
  • 尽量保留正文原有段落结构;
  • 在1.0.6版本中新增支持了对于原生文本中Emoji的无损映射展示,在剪贴板中哔哩哔哩自有Emoji将表现为文字形式。

气泡外观

自由复制气泡提供以下外观选项:

  • 默认暗色气泡;
  • 手动启用白底黑字的亮色模式;
  • 自动跟随哔哩哔哩当前亮暗主题。

自动跟随开启后,模块会在进入视频详情页时判断一次当前主题,并缓存结果。弹出气泡时直接读取缓存,避免在长按瞬间执行额外反射操作。

气泡采用全屏透明 Dialog 承载,以保证 Android 系统文本选择句柄、浮动工具栏和复制操作能够正常工作。实际可见区域仍然只是定位在评论或简介附近的小型气泡。点击气泡外部会播放退出动画并关闭界面,点击气泡文字区域则可以继续选择文本。


漫游版本支持扩展

“漫游版本支持扩展”用于配合已经安装并启用的哔哩漫游模块工作。它不是哔哩漫游的替代品,也不提供账号、解析服务器、访问密钥或网络代理服务。

部分较新的哔哩哔哩客户端版本可能改变内部分析目标,使旧版漫游在读取或生成 Hook 信息时出现异常。启用扩展后,本模块会尝试修补已知的分析兼容问题,并协助漫游重新建立完整缓存,使其设置入口、页面定制和相关 Hook 能力能够在已适配的新版本中继续工作,同时缩短宿主冷启动时间。

当前实现包含以下兼容措施:

  • 修补部分高版本客户端中的分析候选异常;
  • 在缓存损坏、过期或版本变化时触发重新分析;
  • 尽量避免无意义的重复全量分析和冷启动延迟;
  • 在“我的”页面补充漫游设置入口;
  • 通过跨进程 Provider、受权限保护的广播和本地缓存同步开关状态;
  • 针对部分 MIUI/HyperOS 环境处理应用可见性与后台启动限制;
  • 在功能关闭后恢复相应原生行为,避免模块状态长期残留。

开启该功能后,通常需要按照设置界面的提示重启哔哩哔哩两次,使缓存重建和后续快速启动路径依次完成,否则漫游部分功能可能不生效。不同哔哩漫游版本、LSPosed 分支和客户端版本之间可能存在差异,遇到问题时请同时提供三者的版本信息。


实验性功能

预见式返回动画

在支持预见式返回手势的 Android 系统中,可通过模块设置启用相应窗口能力,使返回手势能够展示系统提供的过渡预览。该功能主要面向 AOSP Android 14 及以上环境,部分厂商系统可能自行修改或关闭相关动画。

气泡亮暗色自动跟随

自动跟随会覆盖手动亮色气泡设置。用户在自动跟随开启时修改手动模式,模块会先显示确认提示,避免出现两个配色来源同时生效的情况。


自动版本适配

哔哩哔哩客户端更新后,混淆类名、方法名和参数签名都可能变化。为减少每次版本更新后都必须立即发布新模块的情况,项目加入了轻量级版本适配器。

适配器会结合类结构、字段类型、方法参数和 ViewBinding 特征定位部分关键 Hook 点,并将结果缓存到目标应用的本地缓存中。后续启动若版本未变化,会直接走缓存快路径,不重复扫描。

当检测到客户端版本变化、适配缓存不存在或用户主动清除缓存时,模块会重新执行适配。设置界面中的“重新适配当前版本”用于清除旧记录;确认后重启哔哩哔哩,模块将在下次启动时重新定位。

自动适配只能覆盖结构特征仍然相近的版本。如果客户端进行了大规模重构,模块可能只能保持部分功能,仍需等待项目更新。若升级客户端后出现功能失效,可依次尝试:

  1. 打开模块设置;
  2. 进入“实验性功能”;
  3. 点击“重新适配当前版本”;
  4. 确认清除缓存;
  5. 重启哔哩哔哩;
  6. 等待适配完成提示后再次进入对应页面测试。

模块设置与维护工具

激活状态

模块主页会显示当前是否已经被 Xposed/LSPosed 框架激活,并在可用时展示激活框架名称及 API 版本。如果一直显示“模块未激活”,请检查:

  • LSPosed 是否正常运行;
  • 模块是否已经启用;
  • 作用域是否包含 tv.danmaku.bili
  • 修改作用域后是否已经强制结束并重新启动哔哩哔哩;
  • 当前安装 APK 是否与 LSPosed 中启用的是同一个包。

隐藏桌面图标

用户可以隐藏模块的桌面启动图标。隐藏后仍可从 LSPosed 管理器的模块设置入口重新打开。

部分 LSPosed 版本带有“强制显示桌面图标”功能。如果隐藏操作没有生效,请先在 LSPosed 中关闭对应选项。

一键重启哔哩哔哩

设置界面提供“重启哔哩哔哩”入口,用于在修改功能后快速结束目标进程并重新启动应用。执行前会显示确认界面,减少误触。

如果设备未授予必要的 Root 能力、Shell 命令受限或厂商系统阻止后台拉起,重启操作可能失败。此时可以手动从最近任务中划掉哔哩哔哩,或在系统设置中强制停止后重新打开。

日志设置

模块日志可以独立开启或关闭,并提供两种详细度:

  • 精简:只输出显著错误、运行异常和关键失败信息;
  • 完整:输出 Hook 注册、功能命中和拦截详情,适合排查兼容问题。

日志通常可以在 LSPosed 管理器中查看。提交问题时,建议使用完整档复现一次,再导出与目标进程有关的日志。日志可能包含客户端版本、类名和运行状态,请在公开上传前自行检查并隐藏个人敏感信息。

更新检查

模块设置页支持 Stable 与 Preview 两种更新渠道,默认保持 Stable:Stable 只接收正式 Release;Preview 会同时比较正式版与 vX.Y.Z-alpha.N 预发布版,并选择语义版本最高的一项。切换渠道后会立即检查新渠道,Alpha 更新弹窗会显示明确的预发布风险提示。自动检查按渠道分别进行24小时低频节流,网络失败时不会持续弹窗干扰使用。发现新版本后,可以通过“版本详细”查看完整更新说明;GitHub API、详情页连接失败或超时时会按功能切换到对应镜像,也可以继续选择手动下载安装。

模块不会在后台静默安装更新。APK 安装、版本替换和是否使用测试版本始终由用户决定。


环境要求

项目 要求
Android 版本 Android 8.1(API 27)及以上
Root / Hook 环境 建议使用 Magisk + LSPosed
目标应用 官方 Android 哔哩哔哩,包名 tv.danmaku.bili
模块框架 Xposed / LSPosed 兼容环境
已验证客户端 8.90.2、9.0.0,以及 9.1.0~9.9.0 的主要版本路径
漫游扩展 需要用户另行安装并启用兼容的哔哩漫游版本
预见式返回 主要面向 AOSP Android 14 及以上系统

“已验证”只表示项目在相应版本或同类结构上进行过开发测试,不代表所有设备、系统主题、账号实验分组和客户端小版本都能得到完全相同的结果。 理论上几个已验证完毕的版本号的之间的客户端亦可使用,不保证功能完全实现,若您发现功能失效并希望项目进行适配,请按照README中提示的Issue流程进行操作。


安装方法

  1. GitHub Releases 下载 APK。
  2. 在 Android 设备上安装或覆盖安装模块。
  3. 打开 LSPosed 管理器。
  4. 启用 Bilibili Innocent Lab
  5. 将官方哔哩哔哩 tv.danmaku.bili 加入模块作用域。
  6. 强制停止哔哩哔哩,然后重新启动。
  7. 打开模块设置,确认页面显示“模块已激活”。
  8. 根据需要启用净化、自由复制或实验性功能。
  9. 若设置未立即生效,使用模块内的“重启哔哩哔哩”,或手动强制停止目标应用。
  10. 漫游版本支持扩展请按照页面提示完成两次重启。

覆盖安装模块后,一般不需要清除哔哩哔哩数据。除非发布说明明确要求,否则不要随意清空客户端数据、模块配置或漫游缓存。


推荐使用顺序

首次安装建议按以下顺序验证:

  1. 确认模块已激活;
  2. 只开启一个界面净化功能;
  3. 重启哔哩哔哩并检查详情页或首页;
  4. 测试评论区自由复制;
  5. 测试视频简介自由复制;
  6. 根据主题选择手动亮色气泡或自动跟随;
  7. 确认基础功能稳定后,再尝试实验性功能;
  8. 仅在已安装哔哩漫游且确有兼容需求时开启漫游扩展。

逐项启用更便于判断问题来源,也能避免多个模块同时修改同一页面时难以定位冲突。


Release 通道

Stable

稳定版用于日常使用。模块内置的更新检查默认只检查 GitHub 稳定 Release。稳定版会优先考虑已知功能、构建完整性和基础兼容性。

Alpha

Alpha 版本用于提前验证新功能、适配新客户端或测试兼容性修复。它可能包含尚未完成广泛设备验证的改动,不建议在无法自行导出日志或恢复旧版本的设备上长期使用。

Alpha 版本不会因为每一次本地构建而自动发布,只有在开发者明确认为当前构建具备测试价值时,才应通过对应工作流上传。这可以避免 Release 页面被大量不可用的中间产物占满。

Alpha 的版本前缀始终使用当前稳定版的下一个补丁版本。例如稳定版为 1.0.6 时,Alpha 使用 1.0.7-alpha.N;正式发布 1.0.7 后,再切换到 1.0.8-alpha.N


常见问题

模块显示未激活

确认 LSPosed 已启用模块,并检查作用域是否包含官方哔哩哔哩。修改作用域后需要重新启动目标应用,必要时重启设备。

开关已经打开,但功能没有生效

先强制停止并重新启动哔哩哔哩。若刚升级客户端,可以尝试“重新适配当前版本”。漫游扩展可能需要两次启动才能完成缓存重建。

评论长按没有出现自由复制气泡

检查评论自由复制开关是否开启,并确认当前页面属于已适配的官方评论区。若只有少量评论失效,请记录评论类型、是否带图、是否为回复列表以及客户端版本。

使用自由复制后图片无法打开

当前版本已经对带图评论的媒体容器进行专门保护。请确认安装的是最新构建,并彻底重启哔哩哔哩进程。如果仍能复现,请说明操作顺序以及气泡关闭后等待多久点击图片。

气泡内无法选择或复制文字

请确认没有其他模块同时 Hook 系统剪贴板、文本选择工具栏或 PopupWindow。部分厂商系统的文本选择组件经过深度定制,如遇崩溃请提供系统版本和 crash 日志。

首页轮播仍然出现

首页结构可能受到账号实验分组影响。请提供客户端版本、首页样式截图和完整日志,避免只使用“功能无效”作为问题描述。

漫游扩展开启后仍然异常

请同时提供:

  • 哔哩哔哩版本;
  • 哔哩漫游版本;
  • 本模块版本;
  • LSPosed 版本及分支;
  • Android/ROM 版本;
  • 是否完成两次重启;
  • LSPosed 中目标主进程的相关日志。

与其他模块冲突怎么办

多个模块同时修改评论区、视频详情页、剪贴板、主题属性或漫游缓存时,可能发生执行顺序冲突。建议暂时关闭其他模块,只保留本模块复现;确认单模块正常后再逐个恢复。


构建项目

仓库根目录和 Gradle 工程目录并不相同。Gradle 工程位于:

Bilibili_Innocent_Lab/

Windows PowerShell:

cd Bilibili_Innocent_Lab
.\gradlew.bat assembleDebug --console=plain --no-daemon

Linux / macOS:

cd Bilibili_Innocent_Lab
./gradlew assembleDebug --console=plain --no-daemon

调试 APK 输出位置:

Bilibili_Innocent_Lab/app/build/outputs/apk/debug/app-debug.apk

运行 JVM 单元测试:

.\gradlew.bat testDebugUnitTest --console=plain --no-daemon

项目构建完成后,请确认 APK 修改时间晚于源码修改时间。安装到设备后,建议对比本地 APK 与设备端已安装 base.apk 的校验值,避免 Gradle 缓存或旧产物导致测试结果失真。

更多运行架构说明可查看:


性能与兼容设计

本模块包含多个运行在目标应用进程中的 Hook,因此在设计时尽量避免把复杂逻辑放入高频回调:

  • 对滚动、触摸和文本绑定路径设置快速返回条件;
  • 评论绑定使用空闲调度与分批处理;
  • 反射获得的方法和字段会尽量缓存;
  • 页面、Dialog 和评论 View 使用弱引用保存;
  • 异步任务只持有 Application Context;
  • 新版本适配结果写入缓存,避免每次启动重复扫描;
  • 跨进程开关读取具有多级降级路径;
  • 对自己的 Dialog、系统选择句柄和宿主媒体容器设置身份或来源豁免;
  • 在 ROM 差异明显的窗口、状态栏和主题属性上使用显式配置。

项目不会为了追求“拦截更多内容”而无条件接管所有系统 API。对于 PopupWindow、Dialog、剪贴板、广播和触摸事件等影响范围较大的入口,优先根据对象身份、调用来源和手势生命周期判断是否属于模块目标,避免干扰图片预览、系统文本选择和宿主其他正常功能。


问题反馈

提交 Issue 前,请尽量完成以下检查:

  1. 使用最新稳定版或说明正在使用的 Alpha 版本;
  2. 确认问题在只启用本模块时仍能复现;
  3. 记录哔哩哔哩、Android、LSPosed 和模块版本;
  4. 说明具体功能开关状态;
  5. 给出从进入页面到问题出现的完整操作步骤;
  6. 必要时附上截图、录屏或 LSPosed 日志;
  7. 崩溃问题请优先提供 crash buffer 中的完整堆栈;
  8. 不要公开上传账号、Cookie、访问密钥或其他个人敏感数据。

明确、可重复的步骤通常比单独一句“不能使用”更容易定位问题。


隐私说明

模块的功能逻辑主要在本地设备和目标应用进程中运行。运行日志写入 LSPosed 日志系统,更新检查会访问 GitHub Release 信息。模块不会代替用户登录哔哩哔哩,也不会要求用户向本项目提交账号密码。

在导出和分享日志前,用户仍应自行检查其中是否包含视频链接、设备信息、应用版本或其他不希望公开的内容。


免责声明

本项目是非官方、非商业性质的个人学习与研究项目,与哔哩哔哩及其关联公司不存在隶属、授权、合作或背书关系。

使用 Xposed/LSPosed 模块可能改变目标应用运行行为,并可能受到客户端更新、系统安全策略、厂商 ROM、账号实验分组或其他模块的影响。使用者应自行评估风险,并对安装、启用、数据备份和设备环境负责。

本项目不提供任何内容资源,不参与账号交易,不提供访问凭证,也不保证第三方扩展服务的可用性。请在遵守所在地法律法规、目标平台规则和开源项目许可的前提下使用。

附加免责声明与风险提示

重要提示:请在下载、安装、编译、分发或使用本项目之前完整阅读本声明。
本声明用于说明项目性质、使用风险与责任边界,不构成针对任何个人、组织或司法辖区的正式法律意见。若你计划将本项目用于公开发行、组织运营、商业活动或其他具有较高法律风险的场景,请另行咨询具备相应资质的专业人士。若你不同意本声明的任何内容,请立即停止下载、安装、编译、分发或使用本项目。

一、项目性质与非官方声明

Bilibili Innocent Lab 是由社区开发者独立维护的非官方、非商业性质开源研究项目,主要用于 Android、Xposed/LSPosed、运行时 Hook、界面交互和软件兼容性等技术的学习、研究与交流。

本项目与哔哩哔哩及其运营主体、关联公司、合作伙伴不存在任何隶属、授权、委托、合作、赞助、认可或背书关系,也不代表任何第三方平台、框架或扩展项目的立场。

项目名称、文档或代码中出现的“哔哩哔哩”“Bilibili”、相关应用包名、界面名称、产品名称、商标、标识及其他专有名称,仅用于说明兼容目标、技术背景或功能适用范围。其商标权、著作权及其他合法权益均归相应权利人所有。此类描述性使用不表示本项目获得了相关权利人的授权。

二、功能边界声明

本项目仅提供运行于用户本地设备中的模块代码,不是独立视频客户端,不提供或运营任何音视频内容、账号服务、会员服务、网络代理、解析服务、访问凭证、Cookie、Access Key、版权内容、付费资源或第三方平台数据。

本项目不会授予用户对任何第三方内容、软件、接口、账号或服务的额外权利。模块提供的文本选择、界面净化、交互增强、版本适配或第三方扩展兼容能力,不代表用户因此取得复制、转载、发布、传播、修改、汇编或商业使用相关内容的许可。

自由复制功能仅改变本地界面的文本选择方式。用户复制、保存、引用、转载或传播评论、简介及其他文本时,应自行确认其行为符合著作权、隐私权、个人信息保护、平台规则及其他适用要求。模块能够执行某项技术操作,不等于该操作在所有场景下均具有合法授权。

三、禁止用途

本项目不以规避付费机制、破解会员权益、绕过数字版权保护、破坏访问控制、获取未授权数据、干扰平台正常运营、实施网络攻击、传播违法内容或侵犯第三方合法权益为目的。

任何人不得利用本项目从事包括但不限于以下行为:

  • 未经授权访问、抓取、收集、出售或传播第三方数据;
  • 绕过付费服务、版权保护、账号权限或安全验证;
  • 获取、分享或滥用他人的账号、Cookie、Token、Access Key 等凭证;
  • 大规模复制、转载、下载或传播无合法授权的内容;
  • 对平台、服务器、客户端或其他用户实施干扰、攻击、欺诈或滥用;
  • 将项目重新包装为含恶意代码、隐私收集、广告注入或收费欺诈的版本;
  • 违反所在地法律法规、目标平台规则或第三方开源许可证的其他行为。

因使用者擅自改变项目用途、修改代码、组合其他工具或实施违规操作所产生的责任,由实际行为人自行承担。

四、设备、系统与账号风险

Xposed、LSPosed、Magisk、Root、Zygisk 及其他运行时 Hook 环境会改变 Android 系统和目标应用的正常执行流程,可能降低系统安全边界或引发不可预期行为。即使项目在特定设备和客户端版本上经过测试,也无法保证在其他环境中具有相同结果。

潜在风险包括但不限于:

  • 目标应用启动失败、闪退、无响应或功能异常;
  • 系统界面异常、软重启、启动循环或设备无法正常进入系统;
  • 应用配置、缓存、本地文件或其他数据损坏、丢失;
  • 电量消耗、内存占用、发热或性能发生变化;
  • 与其他模块、主题、ROM 定制功能或安全软件产生冲突;
  • 账号被限制功能、触发安全验证、受到警告、封禁或其他平台处置;
  • 客户端更新后部分或全部 Hook 失效;
  • 第三方扩展、依赖库或服务发生异常、停止维护或改变行为。

使用者应当具备恢复设备、关闭模块、卸载 APK、进入安全模式、还原备份和排查 LSPosed 日志的基本能力。使用前请自行备份重要数据,并确保能够承担测试失败或环境冲突带来的后果。

项目维护者没有能力控制第三方平台的风控规则,也不会对账号安全、账号价值、账号权益或平台处罚结果作出任何承诺。

五、兼容性与可用性声明

本项目基于目标应用在特定时间、特定版本中的运行结构开发。目标应用可以随时调整类名、方法签名、数据结构、界面布局、网络协议、实验配置和安全策略,因此本项目的任何功能都可能在客户端更新后部分失效、完全失效或产生新的兼容问题。

README、Release 说明、已验证版本列表、截图、日志和测试结果,仅代表相应测试时间与测试环境中的表现,不构成对其他设备、系统、账号、地区、网络环境或未来版本的保证。

项目维护者不保证:

  • 所有功能永久有效;
  • 所有设备和 ROM 均可正常运行;
  • 所有客户端版本均能自动适配;
  • 项目不存在错误、漏洞、兼容问题或安全风险;
  • Issue、反馈或兼容请求一定会被处理;
  • 修复会在特定期限内发布;
  • Release、Alpha 构建或更新检查服务始终可用;
  • 第三方模块、依赖库或外部服务能够持续兼容。

项目可能随时修改、暂停、删除或停止维护部分功能,也可能停止发布构建、归档仓库或结束整个项目,恕不承诺提前通知。

六、无担保声明

在适用法律允许的最大范围内,本项目及相关代码、文档、构建产物、脚本、配置和说明均按“现状”和“可用状态”提供,不附带任何明示、默示或法定担保。

项目作者、维护者、贡献者和发布者不对适销性、特定用途适用性、准确性、完整性、稳定性、连续性、安全性、不侵权性、无错误性、无病毒性或与特定设备兼容性作出保证。

任何示例、测试记录、性能数据、开发经验或用户反馈都不应被理解为承诺、保证或服务等级协议。使用者应自行验证项目是否适合其设备、账号和使用目的。

七、责任限制

在适用法律允许的最大范围内,项目作者、维护者、贡献者、发布者及相关协作者不对因下载、安装、编译、修改、分发、启用、禁用或使用本项目而直接或间接产生的损失承担责任,包括但不限于:

  • 数据丢失、文件损坏、设备故障或系统恢复成本;
  • 应用异常、功能中断、业务中断或时间损失;
  • 账号限制、封禁、权益损失或平台处罚;
  • 收益损失、机会损失、商誉损失或预期利益损失;
  • 隐私泄露、凭证暴露或第三方索赔;
  • 使用非官方构建、被篡改版本或恶意二次打包造成的损失;
  • 与第三方模块、框架、服务、网站或依赖发生冲突造成的损失;
  • 任何间接、附带、特殊、惩罚性、偶然性或后果性损失。

上述责任限制不适用于依据适用法律不得排除、限制或转移的责任。本声明不试图免除因故意、重大过失、人身损害或其他依法不得免责事项所产生的法定责任。

八、第三方项目与外部链接

本项目可能使用或提及 LSPosed、Xposed、Magisk、YukiHookAPI、KavaRef、哔哩漫游、GitHub 及其他第三方软件、框架、服务或网站。相关项目均由各自权利人独立维护,并适用其各自的许可证、隐私政策、服务条款和免责声明。

项目中出现第三方名称、链接或兼容代码,不代表本项目对其安全性、合法性、稳定性或持续可用性作出保证,也不代表双方存在合作或授权关系。

访问外部链接、安装第三方组件、启用其他模块或使用外部服务所产生的风险,由使用者自行判断和承担。

九、构建产物与二次分发

建议仅从本项目官方 GitHub 仓库及其 Releases 页面获取源码和 APK,并自行核对 Release 来源、数字签名、文件校验值和版本信息。

项目作者无法控制第三方网站、网盘、群组、论坛或个人重新分发的安装包。对于非官方来源、被修改版本、重新签名版本、恶意二次打包版本或捆绑其他软件的版本,项目维护者不提供可信性保证,也不承担由此产生的责任。

任何二次分发者都应遵守仓库适用的开源许可证、保留必要的版权和来源信息,并明确说明其构建并非官方发布。不得冒用项目作者身份,不得将修改版本描述为官方原版,也不得利用本项目实施收费欺诈、恶意广告、隐私收集或其他损害用户权益的行为。

十、日志、隐私与问题反馈

模块运行日志可能包含应用版本、系统版本、设备型号、进程名称、类名、页面状态、视频链接或其他运行环境信息。用户在公开提交 Issue、日志、截图或录屏前,应自行检查并删除账号信息、Cookie、Token、Access Key、个人聊天、评论身份、设备序列号和其他敏感内容。

用户主动提交至 GitHub、论坛或其他公开渠道的信息,可能被第三方查看、转载、索引或长期保存。项目维护者无法保证外部平台能够彻底删除已经公开传播的信息。

如果用户提交的内容包含明显敏感信息、第三方隐私或与问题无关的数据,维护者可以对其进行隐藏、删除或拒绝处理,但不保证能够在泄露发生前及时发现。

十一、不提供持续支持

本项目由开发者利用个人时间维护,不构成商业服务、技术支持合同、托管服务或服务等级协议。

项目维护者没有义务:

  • 对每个 Issue 作出回复;
  • 为特定设备或版本提供专门适配;
  • 提供一对一远程协助;
  • 修复所有错误或兼容问题;
  • 保证更新频率;
  • 保留历史版本下载;
  • 对二次修改版本提供支持;
  • 为用户恢复设备、账号或数据。

社区帮助、开发建议和问题回复均属于自愿行为,不应被理解为持续服务承诺。

十二、权利人联系与内容处理

如果任何权利人认为本项目中的代码、文档、名称、截图、链接或其他内容侵犯其合法权益,可以通过 GitHub Issue 或仓库公开联系方式提交说明,并提供足以识别权利主体、相关内容和权利基础的必要信息。

项目维护者将在合理范围内进行核查,并可视情况采取说明、修改、移除、限制分发或其他适当措施。对反馈进行处理不代表项目维护者自动承认侵权、违法或承担责任。

十三、声明更新

本免责声明可能随着项目功能、发布方式、依赖关系和适用规则变化而更新。更新后的版本自公开发布之日起适用于后续下载、安装、编译和使用行为。

使用者有责任在更新模块或重新使用项目前查看最新 README、Release 说明和免责声明。继续使用更新后的项目,表示使用者已经知悉相应风险提示;若不同意更新内容,应停止使用并卸载相关版本。

十四、可分割性与法律效力边界

如果本声明中的部分条款被认定为无效、不可执行或与适用法律冲突,不影响其他条款在法律允许范围内继续适用。相关条款应在尽可能接近原有风险提示和责任边界目的的前提下,按照适用法律进行解释。

项目维护者未立即行使或主张某项权利,不应被解释为永久放弃该项权利。

需要特别说明的是,免责声明并不当然排除一切责任。中国《民法典》对格式条款的提示说明义务、责任限制以及依法不得免责的情形设有明确边界,因此本声明始终以“适用法律允许的最大范围”为限,不排除任何依法不得排除的责任。《中华人民共和国民法典》最高人民法院关于民法典合同编通则的相关解释

涉及复制、转载、传播或使用第三方作品时,使用者还应自行遵守著作权及信息网络传播权相关规则。本模块提供技术上的文本选择能力,不等于获得内容权利人的复制或传播许可。《中华人民共和国著作权法》

十五、使用确认

下载、安装、编译、修改、分发或使用本项目之前,请确认你已经理解:

  1. 本项目是非官方社区项目;
  2. Hook 环境可能影响设备、应用和账号安全;
  3. 功能可能随客户端更新失效;
  4. 自由复制能力不等于获得内容传播授权;
  5. 第三方服务和模块由各自维护者负责;
  6. 非官方构建可能包含无法验证的修改;
  7. 你应自行备份数据并具备恢复环境的能力;
  8. 你应对自己的具体使用方式及其后果负责;
  9. 项目不提供任何形式的绝对安全、永久兼容或无风险保证;
  10. 所有责任限制均以适用法律允许的范围为限。

如果你无法接受上述风险,请不要安装、启用或继续使用本项目。

许可证

除另有说明的第三方内容外,本项目原创源代码采用 GNU General Public License v3.0 only 许可。

SPDX-License-Identifier: GPL-3.0-only

项目使用或兼容的第三方组件、框架与代码分别遵循其自身许可证。

致谢

感谢以下项目和社区提供的基础能力与开发参考:

  • YukiHookAPI
  • KavaRef
  • Xposed / LSPosed 社区
  • Android 开源项目与相关开发文档
  • 参与测试、反馈兼容问题和提供日志的用户

如果这个项目对你有帮助,欢迎通过 Issue 提交可复现的问题、兼容性信息或改进建议。

Releases

v1.0.7

Stable

8/26/2026, 3:37:54 PM

Bilibili_Innocent_Lab v1.0.7

发布通道:Stable 稳定版

发布日期:2026-08-26

对应提交:eefc608533a8ae5d2de6450e3bf927616538f8cf

版本概述

Adapter框架能力全面进化!宿主适配扩展至 8.90.2~9.9.0,现可支持该范围内所有版本的哔哩哔哩。

更新内容

新增

宿主适配扩展至 8.90.2~9.9.0:VersionAdapter 新增“我的”页、暂停页多请求、Banner 的结构化定位与持久化,HookEntry 暂停页/ Banner 由多入口并行探测与精确签名注册,未命中静默。
自由复制配置原子镜像:新增 FreeCopyConfigStore + Provider 只读暴露,规避 LSPosed API 93+ 对 SharedPreferences 的重定向快照问题,宿主早期即可读到准确开关。

修复

  • 解决了某些情况下跳过自由复制功能入口读取的问题

优化

  • 暂停页请求与渲染改为多入口并行探测与精确签名注册,未命中静默;倒计时与面板双层兜底不影响主链路判定。
  • 首页 Banner 收起改为稳定生命周期回调按需执行,避免历史混淆工厂缺失时的误报。
  • 漫游入口注入改为字段与方法签名结构定位,兼容 R8 名称漂移。

构建与维护

  • 将模块版本更新为 v1.0.7,VersionCode 更新为 8。
  • 扩展模块兼容性与稳定性

兼容性

  • Android:8.1 及以上(minSdk 27)
  • targetSdk:35
  • LSPosed:v2.1.0(7769)/API 102
  • 哔哩哔哩客户端:已验证 8.90.2~9.9.0
  • 已验证设备/系统:MIUI A13 / Color OS A16

安装与升级

  1. 下载本 Release 中的 APK,并核对 SHA-256。
  2. 直接覆盖安装模块;首次安装则在 LSPosed 中启用模块并勾选哔哩哔哩作用域。
  3. 按本版本需要重启模块界面、哔哩哔哩或设备。
  4. 无额外迁移步骤,原有模块设置会继续保留。

已知问题

验证结果

  • Gradle 干净构建通过
  • 单元测试通过
  • Android Lint 通过
  • APK 版本号与 versionCode 正确(1.0.7 / 8)
  • 真机覆盖安装与基础功能验证通过
  • 本地 APK 与设备端安装包哈希一致

下载与校验

文件 用途 SHA-256
\Bilibili_Innocent_Lab-v1.0.7.apk\ 模块安装包 \0fecb66ed1b6daac9906ce00109990c09c1d21f974f984301908c6d154432d28\
\SHA256SUMS.txt\ 文件校验清单 以附件内容为准

问题反馈

请前往 GitHub Issues 反馈,并附上:

  • Android、ROM、LSPosed 与哔哩哔哩版本
  • 问题复现步骤和预期行为
  • 必要的截图、录屏或已脱敏日志

使用提醒

不同 Android 版本、厂商 ROM、LSPosed 分支及宿主版本可能产生差异。升级前请做好必要备份,并在合法合规、遵守相关服务条款的前提下使用。本项目不代表任何官方立场,也不隶属于相关平台。

安装问题提示

若您已确定您下载的模块版本应高于已安装版本却无法安装,请尝试使用核心破解功能。

Assets

2

v1.0.8-alpha.2

Pre-release

8/26/2026, 6:22:28 PM

Bilibili_Innocent_Lab v1.0.8-alpha.2

发布通道:Alpha 预发布

发布日期:2026-08-27

对应提交:3aed3ffd2c1dfdfb085d942c8f2a920d9c475232

Warning

这是面向兼容性、稳定性与性能验证的测试版本,可能存在未发现的问题,不会作为应用内稳定版本推送。普通用户请优先使用最新 Stable Release。

版本概述

本版本自动汇集自上一 Alpha 以来的功能、修复、兼容性与文档调整,用于在正式发布前验证构建质量和真实设备表现。请重点结合下方变更记录与测试目标,反馈不同设备、ROM、LSPosed 分支和哔哩哔哩版本下的结果。

更新内容

本轮测试目标

  • 模块能否正常安装、激活并加载。
  • 主要功能在目标哔哩哔哩版本上是否正常。
  • 长时间使用、快速滚动、弹窗与跨进程场景是否稳定。
  • 不同 Android、ROM 与 LSPosed 分支下是否存在兼容性差异。

兼容性

  • Android:8.1 及以上(minSdk 27)
  • targetSdk:35
  • LSPosed:API102
  • 哔哩哔哩客户端:8.90.2~9.9.0

已知问题与风险

  • Alpha 版本可能出现功能回归、兼容性问题或性能波动。
  • 暂无已确认问题;发布后发现的问题将通过 Release 更新或 GitHub Issues 补充。

验证结果

  • Gradle 构建通过
  • 单元测试通过
  • Android Lint 通过
  • 多设备与多版本真机验证待测试者反馈

安装与回滚

  1. 下载本 Release 中的 Alpha APK,并核对 SHA-256。
  2. 覆盖安装后,按测试需要重启模块界面、哔哩哔哩或设备。
  3. 如遇严重问题,请覆盖安装最新 Stable Release,并重启相关进程完成回滚。
  4. 回滚前请保留必要的已脱敏日志和复现步骤。

Tip

若您已确定您下载的模块版本应高于已安装版本却无法安装,请尝试使用核心破解功能。

下载与校验

文件 用途 SHA-256
Bilibili_Innocent_Lab-v1.0.8-alpha.2-3aed3ffd.apk Alpha 测试安装包 daf8881f3fb4b25965aabd8178fc5cdd73d91568594f1c02bad23a16d2c3bc02
SHA256SUMS.txt 文件校验清单 以附件内容为准
BUILD_INFO.txt 构建源码、APK 内部版本与哈希溯源 以附件内容为准

反馈格式

请前往 GitHub Issues 反馈,并附上:

  • 测试版本:v1.0.8-alpha.2
  • Android、ROM、LSPosed 与哔哩哔哩版本
  • 是否能够稳定复现
  • 详细复现步骤和预期行为
  • 必要的截图、录屏或已脱敏日志

使用提醒

该版本仅用于测试与反馈。请做好必要备份,并在合法合规、遵守相关服务条款的前提下使用。本项目不代表任何官方立场,也不隶属于相关平台。

Assets

2

v1.0.6

Stable

8/26/2026, 3:53:49 PM

Bilibili_Innocent_Lab v1.0.6

重要提醒:本模块自v1.0.6以及v1.0.7-alpha.3开始使用com.Bilibili_Innocent_Lab.xposedmodule新包名,若要使用新版本,请将更改包名之前的版本模块卸载并重新配置新模块设置,两者不可并存

发布通道:Stable 稳定版

发布日期:2026-08-24

对应提交:e97ac44578d59e4f33f34162cb226329d2438851

版本概述

本稳定版集中收口评论区自由复制的可靠性、宿主交互兼容性与哔哩哔哩自有 Emoji 的语义复制。解决了 RecyclerView 复用造成的评论串文、折叠评论 Emoji 复制为空、长按偶发进入官方面板以及三点菜单失效等问题,同时保留既有富文本显示和滚动性能优化。评论区核心场景已在哔哩哔哩 8.90.2 与 9.8.0 两台设备上完成验证。

更新内容

新增

  • 更改了模块包名至com.Bilibili_Innocent_Lab.xposedmodule,拥有和v1.0.7-alpha.3实质上相同的代码 (e97ac44)
  • 新增哔哩哔哩自有 Emoji 的语义复制:气泡中继续显示原始富文本 Emoji,复制到剪贴板时转换为可读的 [表情名]
  • 新增独立的 CommentEmojiAdapterFreeCopySelectionMapper,将宿主版本适配、模型映射、气泡显示和系统选区复制分层处理。
  • 新增折叠评论正文投影,可按 Span 结构识别省略标记与“展开”操作尾部,不依赖固定中文文案。

修复

  • 修复反复切换视频详情页和评论区后,短按“热门评论”或“最新评论”可能误弹自由复制气泡的问题。
  • 修复触发自由复制后,评论右下角三点按钮无法继续打开官方操作面板的问题。
  • 修复快速滚动或滑停后立即长按时,部分评论偶发进入官方长按面板而不是自由复制气泡的问题。
  • 修复哔哩哔哩 9.8.0 下 RecyclerView 复用导致气泡文本概率来自其他评论的问题。
  • 修复部分哔哩哔哩自有 Emoji 在气泡或剪贴板中显示为空的问题,并避免将卡片、角标等非 Emoji 绘制 Span 误识别为表情。
  • 修复可展开评论在未展开状态下 Emoji 复制为空,而展开后才恢复正常的问题。

优化

  • 为评论绑定增加 generation、beforeHook 同步快照和显示前可见正文校验,阻止异步旧回调污染已复用的评论节点。
  • Emoji 映射优先使用模型 token 与可见 Span URL 一对一精确匹配;无法确认时回退原始 token,不再退回空白占位字符。
  • 模型反射、折叠投影和选区映射仅在用户长按/复制的低频路径运行;没有新增滚动、setText 或触摸 MOVE 高频 Hook。
  • 延续 WeakReference/WeakHashMap、Class 级反射缓存与 ThreadLocal 同步豁免,避免持有 CommentItem、View、Span 或跨会话剪贴板状态。

构建与维护

  • 将模块版本更新为 1.0.6versionCode 更新为 7
  • 补充 Emoji 序列归一化、URL 精确匹配、未知 Span 回退、折叠控制结构、多语言操作文案等 JVM 回归测试。

兼容性

  • Android:8.1 及以上(minSdk 27)
  • targetSdk:35
  • LSPosed:已验证官方 LSPosed v2.1.0 与 zygisk_lsposed DirectAccessService 分支(API 102)
  • 哔哩哔哩客户端:已验证 8.90.2、9.8.0
  • 已验证设备/系统:MIUI Android 13 与一加 Android 16 设备

安装与升级

  1. 下载本 Release 中的 APK,并核对 SHA-256。
  2. 直接覆盖安装模块;首次安装则在 LSPosed 中启用模块并勾选哔哩哔哩作用域。
  3. 覆盖安装后强制停止并重新启动哔哩哔哩;若 Hook 未刷新,再重启设备。
  4. 无额外数据迁移步骤,原有模块设置会继续保留。

已知问题

  • 本版已专项验证哔哩哔哩 8.90.2 与 9.8.0;其他宿主版本若改变评论富文本或折叠结构,可能需要追加 Adapter 适配。
  • 不同 ROM 的系统文本选择工具栏和 Emoji 字体可能存在视觉差异,但不会改变剪贴板中的 [表情名] 文本。

验证结果

  • Gradle 干净构建通过
  • 单元测试通过(37 项,0 失败)
  • Android Lint 通过(0 Error / 0 Fatal)
  • APK 版本号与 versionCode 正确(1.0.6 / 7)
  • 两台设备完成功能验证,最终 APK 已在当前设备覆盖安装
  • 本地 APK 与设备端安装包哈希一致

下载与校验

文件 用途 SHA-256
Bilibili_Innocent_Lab-v1.0.6.apk 模块安装包 c7f75aca4688aeff9036cf71870d6eab
SHA256SUMS.txt 文件校验清单 以附件内容为准

问题反馈

请前往 GitHub Issues 反馈,并附上:

  • Android、ROM、LSPosed 与哔哩哔哩版本
  • 问题复现步骤和预期行为
  • 必要的截图、录屏或已脱敏日志

使用提醒

不同 Android 版本、厂商 ROM、LSPosed 分支及宿主版本可能产生差异。升级前请做好必要备份,并在合法合规、遵守相关服务条款的前提下使用。本项目不代表任何官方立场,也不隶属于相关平台。

安装问题提示

若您已确定您下载的模块版本应高于已安装版本却无法安装,请尝试使用核心破解功能。

Assets

2

v1.0.8-alpha.1

Pre-release

8/26/2026, 5:31:38 PM

Bilibili_Innocent_Lab v1.0.8-alpha.1

发布通道:Alpha 预发布

发布日期:2026-08-26

对应提交:184bba47649dc070f925ea5a01690ad15c66ac98

Warning

这是面向兼容性、稳定性与性能验证的测试版本,可能存在未发现的问题,不会作为应用内稳定版本推送。普通用户请优先使用最新 Stable Release。

版本概述

本版本自动汇集自上一 Alpha 以来的功能、修复、兼容性与文档调整,用于在正式发布前验证构建质量和真实设备表现。请重点结合下方变更记录与测试目标,反馈不同设备、ROM、LSPosed 分支和哔哩哔哩版本下的结果。

更新内容

本轮测试目标

  • 模块能否正常安装、激活并加载。
  • 主要功能在目标哔哩哔哩版本上是否正常。
  • 长时间使用、快速滚动、弹窗与跨进程场景是否稳定。
  • 不同 Android、ROM 与 LSPosed 分支下是否存在兼容性差异。

兼容性

  • Android:8.1 及以上(minSdk 27)
  • targetSdk:35
  • LSPosed:API102
  • 哔哩哔哩客户端:8.90.2~9.9.0

已知问题与风险

  • Alpha 版本可能出现功能回归、兼容性问题或性能波动。
  • 暂无已确认问题;发布后发现的问题将通过 Release 更新或 GitHub Issues 补充。

验证结果

  • Gradle 构建通过
  • 单元测试通过
  • Android Lint 通过
  • 多设备与多版本真机验证待测试者反馈

安装与回滚

  1. 下载本 Release 中的 Alpha APK,并核对 SHA-256。
  2. 覆盖安装后,按测试需要重启模块界面、哔哩哔哩或设备。
  3. 如遇严重问题,请覆盖安装最新 Stable Release,并重启相关进程完成回滚。
  4. 回滚前请保留必要的已脱敏日志和复现步骤。

下载与校验

文件 用途 SHA-256
Bilibili_Innocent_Lab-v1.0.8-alpha.1-184bba47.apk Alpha 测试安装包 6e724d39d630367986f2de4e3ce1a03d917e5ab238f6511601eb7529142e0272
SHA256SUMS.txt 文件校验清单 以附件内容为准
BUILD_INFO.txt 构建源码、APK 内部版本与哈希溯源 以附件内容为准

反馈格式

请前往 GitHub Issues 反馈,并附上:

  • 测试版本:v1.0.8-alpha.1
  • Android、ROM、LSPosed 与哔哩哔哩版本
  • 是否能够稳定复现
  • 详细复现步骤和预期行为
  • 必要的截图、录屏或已脱敏日志

使用提醒

该版本仅用于测试与反馈。请做好必要备份,并在合法合规、遵守相关服务条款的前提下使用。本项目不代表任何官方立场,也不隶属于相关平台。

安装问题提示

若您已确定您下载的模块版本应高于已安装版本却无法安装,请尝试使用核心破解功能。

Assets

2