一个使用 Kotlin + Jetpack Compose(Material 3)开发的非官方 Bilibili 安卓客户端。采用原生渲染、无私有后端,所有账号数据仅在本机加密存储,直接对接 Bilibili 公开网页接口。
⚠️ 本项目仅供个人学习、技术研究与交流使用,与哔哩哔哩官方无任何隶属或合作关系。详见文末法律声明。
- 轻量化:无私有后端、无冗余后台服务,安装包与运行时开销小。
- 省电:不接入 Push、不做后台常驻轮询,按需请求,降低电量消耗。
- 简洁:Material 3 原生界面,层级清晰、操作直接,去除花哨装饰。
- 视频播放:基于 Media3 (ExoPlayer) 的流媒体播放,支持清晰度切换、进度控制与帧同步弹幕渲染。
- 弹幕系统:远程弹幕(官方 XML 接口,自动 GZIP/DEFLATE 解压与多域名容错)+ 本地弹幕;可持久化开关、透明度、字号、速度、显示区域与模式过滤。
- 直播:Media3 HLS(AVC) 播放、清晰度选择、弹幕轮询(标注为"近期弹幕")、登录后发送弹幕(本地乐观回显 + 服务端确认)。
- 登录:默认二维码登录;实验性的 +86 短信登录(暂无法实现:原计划内嵌 Geetest 验证 WebView,号码与验证码不持久化)。
- 首页推荐与刷视频:长视频与短视频分流展示,封面尺寸统一;短视频支持全屏竖向滑动、下一条预取、点赞、投币和分页评论。
- 动态:登录后动态流(Polymer 异构接口),支持下拉刷新,自动忽略不支持的卡片类型。
- 搜索:顶层搜索页,含热搜榜、本地搜索历史(可清除)与运行时 WBI 签名。
- UP 主空间:进入 UP 主资料、投稿和动态分页;登录后可尝试关注 / 取消关注。
- 互动:点赞、投币(明确不可逆成本提示)、收藏(按分组的成员关系追踪)、稍后再看,状态隔离且失败可重试。
- 观看历史:通过心跳上报与 Bilibili 服务端同步观看进度。
- 连续浏览:推荐、热门、分区、直播、短视频、动态、搜索、UP 投稿、收藏与观看历史均支持自动加载后续内容。
- 隐私卡片:明确说明设备直连 Bilibili、本地加密 Cookie 与播放进度、登出清除凭证。
- 编辑式 Material 3 UI:以中性纸面浅色为默认视觉,使用炭黑与克制酒红建立层级;提供跟随系统、浅色、深色三档外观,适配手机与平板导航、48dp 触控及可中断自然动效。
| 模块 | 技术 |
|---|---|
| 语言 | Kotlin |
| UI | Jetpack Compose · Material 3 |
| 网络 | OkHttp(全局拦截器、WBI 签名、本地加密 CookieJar) |
| 播放 | Media3 (ExoPlayer) · HLS |
| 图片 | Coil |
| 二维码 | ZXing |
| 最低 / 目标 | minSdk 26 / targetSdk 35 |
| 版本 | 1.1.0(versionCode 6) |
出于合规、隐私与"轻量、省电、简洁"的产品定位,本应用明确不会加入以下功能:
- 直播打赏 / 礼物:不接入虚拟消费、充值与礼物相关流程。
- 逆向官方客户端:不破解、不复用官方 App 的私有协议、密钥或签名逻辑。
- 充电(UP 主赞助):不接入付费赞助相关接口。
- 通知推送:不接入 Push 服务,避免后台常驻与额外耗电。
- 大会员内容播放:尝试支持大会员专享内容的播放(登陆后)。
- 动漫与电影播放:尝试支持番剧、电影等版权内容的播放(登陆后)。
- 使用 Android Studio(JDK 17)打开本目录。
- 按提示安装 Android SDK 35。
- 在 API 26+ 设备或模拟器上运行
app配置。
也可通过 GitHub Actions 自动构建:工作流使用 Gradle 8.9 执行 lintDebug assembleDebug,并将 Debug APK 作为构建产物发布。
- 应用不内置任何私有服务器,所有流量为设备直连 Bilibili。
- 登录凭证(Cookie)使用
EncryptedSharedPreferences加密存储于本机;会话 Cookie 仅驻留内存,登出时全部清除。 - 明文流量(cleartext)已禁用。
- 应用不含任何官方密钥、密钥材料、商标或捆绑的受版权保护资源。
- 搜索请求在运行时使用 WBI 导航密钥签名;短信登录的号码与验证码不在任何位置持久化。
- 依赖未公开文档的网页接口,其字段与反爬策略可能随时变化。
- 推荐流有意使用公开 popular 接口(匿名个性化接口当前不稳定)。
- 直播弹幕为轮询而非 WebSocket 实时;勋章、礼物、Super Chat、房管及非 AVC/HLS 回退暂未支持。
- 画中画、亮度/音量手势、缓存清理、嵌套回复发布、密码登录等暂未实现。
- 实验性短信登录接口可能随时失效;应用绝不收集密码、自动破解或绕过验证码。
- 非官方声明:本项目是一个由个人开发者出于学习目的开发的非官方第三方客户端,与哔哩哔哩(Bilibili)官方及其关联公司无任何隶属、合作、授权或赞助关系。
- 用途限制:本项目仅供个人学习、技术研究与非商业性的个人使用。严禁用于任何商业用途、大规模分发、盈利或违反 Bilibili 用户协议的行为。
- 接口与数据:本应用通过 Bilibili 公开的网页接口(部分未公开文档)获取数据,相关接口的可用性、格式及访问限制由 Bilibili 单方决定,可能因反爬或业务调整而失效。使用者须自行承担由此带来的风险。
- 数据与隐私:应用不在本机之外的任何服务器上存储或上传你的账号信息;所有登录凭证均加密保存在你自己的设备上,并在登出时清除。开发者无法也无意获取你的任何个人数据。
- 知识产权:Bilibili、哔哩哔哩及其相关商标、Logo、视频、封面、弹幕等内容的知识产权均归原权利人所有。本项目不捆绑或再分发任何受版权保护的资源,图标为原创矢量近似。
- 免责条款:使用本软件所产生的一切后果(包括但不限于账号风险、区域限制、接口失效、数据丢失)由使用者自行承担。开发者不对因使用本项目导致的任何直接或间接损失负责。
- 停止与移除:若权利方或相关方提出异议,开发者将配合下架或停止相关功能。
本项目以 MIT 许可证 开源。


