tvbox

ZxxXinI活跃维护

面向 Android 9+ 电视盒子和 Android TV 的影视播放应用,内置多条播放源,支持电视直播、电影点播和遥控器操作。

面向 Android 9+ 电视盒子与 Android TV 的影视播放应用,支持电视直播、电影点播、平台直播及遥控器操作。内置多条播放源

v1.3.13发布于 2026-10-13 03:43 UTC267star +5 / 7 天32fork同步于 2026-11-11 00:01 UTC

怎么上手

由 README 提炼,执行前请确认
adb install -r TVBox-v1.3.13.apk
硬件要求按 README 说明

面向 Android 9+ 的电视盒子与 Android TV 设备;README 未说明 CPU、内存或 GPU 的具体要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

面向 Android TV 和电视盒子的影视播放客户端,内置多条播放源,并针对遥控器操作做了适配

面向 Android 9+ 电视盒子和 Android TV 的影视播放应用,内置多条播放源,支持电视直播、电影点播和遥控器操作。

核心能力

  • 支持 LEANBACK_LAUNCHER,可从电视桌面启动,同时保留普通 Android 启动入口
  • 方向键、确认键、返回键、菜单键和数字键都配有对应交互
  • 内置 32 个资源站,并支持扫码添加 MacCms 自定义接口
  • 搜索时最多并行查询三条来源,结果增量去重显示
  • 基于 Media3 ExoPlayer 播放 m3u8,并自行处理快进快退、切集和倍速

容易踩的坑

平台直播需要单独在电脑或服务器上部署服务端,并在构建时通过 TVBOX_PLATFORM_LIVE_SERVICE_URL 注入地址,不能填 localhost 或 127.0.0.1;AI 找片默认使用打包时配置的 API Key,如需更换,要在设置页扫码填写;本地构建需要 JDK 17 和 Android SDK,并使用项目内的 Gradle Wrapper。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.3.13
  1. v1.3.13TVBox v1.3.13最新正式版2026-10-13 · 2026-10-13 03:43 UTC

    TVBox v1.3.13

    修复

    • 合并 PR #5,修复电视遥控器重新进入搜索页后,光标停在旧关键词开头、退格无法删除的问题。
    • 重新进入搜索页时将光标放在关键词末尾;正常编辑保留光标、选区与输入法组合状态。
    • 保留搜索关键词、搜索结果和返回定位逻辑;播放、直播、设备模式及 OTA 安装行为不变。

    安装与验证说明

    • 版本号:1.3.13,版本码:10313,适用于 Android 9 及以上。
    • 旧版可通过应用内 OTA 更新,也可下载 APK 覆盖安装,保留本机数据。
    • 若盒子无法给予 TVBox 安装权限,可使用“保存安装包”后通过文件管理器或原安装方式安装;系统仍可能要求安装来源授权。
    • 正式 Release 构建、签名及安装包完整性校验通过;未进行设备或功能测试,实机遥控器和输入法效果待用户验证。

    致谢

    感谢 @lliyuu520 提交搜索输入修复!

    安装包校验

    • 文件:TVBox-v1.3.13.apk
    • 大小:5034437 字节
    • SHA-256:2c69db103a867ed74d28481dcafd5f395f90d87b5cef6d0592ff12e167597edf
  2. v1.3.12TVBox v1.3.122026-10-08 · 2026-10-08 04:08 UTC
    查看更新说明

    TVBox v1.3.12

    • 设置新增“设备模式”:电视模式/手机模式,默认电视模式,本机记忆,系统自动识别只作参考。
    • 修复盒子播放竖屏短剧时页面转成竖屏:电视模式锁定横屏,手机模式保留点播转屏和“电视(4)”手机布局。
    • 修复 OTA 安装授权衔接,授权返回后继续安装,成功打开安装器后才记录已触发;失败保留安装包和重试入口。
    • 增加权限设置与安装器兼容入口,小窗持续显示等待授权或失败状态。
    • 缺少系统下载组件时使用应用备用后台下载,校验 APK 大小及 SHA-256 后才允许安装。
    • 新增“保存安装包”:可选择保存位置;没有系统选择器时保存到下载目录的 TVBox 文件夹,再通过文件管理器手动安装。Android 9 的目录保存需要存储授权,安装仍受系统权限限制。

    手机用户请到“设置 → 设备模式”选择手机模式。

    适用于 Android 9 及以上设备。旧版在线更新遇到问题时,可下载本页 APK 手动覆盖安装,保留本机数据。

    APK:TVBox-v1.3.12.apk,5034437 字节。 SHA-256:54fa16b488d98475137382b2e33d8797a471e341befec1c5b0086b8195db49fe。

    用户已验收;签名 Release 构建及附件校验通过,本轮未重复执行设备测试。此前 5554 下载、安装器拉起与本地保存验证见仓库验收报告。

  3. v1.3.11TVBox v1.3.112026-10-05 · 2026-10-05 12:14 UTC
    查看更新说明

    TVBox v1.3.11

    • 修复 Issue #3:播放管家自动换线保留当前集数和实际播放进度,连续备用线路失败也不再从头播放。
    • 自动换线按集名匹配对应集,跳过缺集和空地址;手动换线继续保留进度与暂停状态。
    • 恢复播放后及时清除缓冲提示;不在刚恢复就绪时再次换线,旧线路事件不再干扰当前播放。
    • 点播操作栏新增“画面”:自适应、裁剪铺满、拉伸铺满。本机记忆选择并实时生效,切换模式不重启播放器。
    • 点播进入沉浸式全屏窗口,退出恢复原系统栏状态;保留数字切集、菜单倍速和连续快进。

    画面入口:播放时按确认键打开操作栏 → 画面。裁剪铺满可能裁掉边缘,拉伸铺满可能变形;默认自适应完整保留比例。片源本身带黑边时,不保证自动消除。

    适用于 Android 9 及以上设备,可从旧版通过 OTA 更新,或手动覆盖安装保留本机数据。

    APK:TVBox-v1.3.11.apk,5001469 字节。 SHA-256:4ab85ed43e9d5fe91b0a2b525161dd6eaff1334de590a369899b395916848333。

    用户已自行测试并反馈无明显问题,本轮未重复执行测试;签名 Release 构建与附件完整性校验通过。

  4. v1.3.10TVBox v1.3.102026-10-04 · 2026-10-04 02:19 UTC
    查看更新说明

    TVBox v1.3.10

    2026-10-04 同版本重新打包,新增后台更新下载。

    • 更新 APK 由系统后台下载,关闭弹窗或按返回不取消;应用内小型进度卡片显示下载状态,不阻挡操作,无需悬浮窗权限。
    • 下载完成并通过完整性校验后,在前台自动打开系统安装界面;后台完成则回到应用后打开。系统安装仍需用户确认,取消后可手动安装。
    • 所有播放页保持亮屏,后台或音频中断后暂停,由用户手动恢复。
    • 新增 TVBox 自有点播控制栏,支持进度、选集、线路及倍速;统一点播和“电视(4)”的轻量界面。
    • 首页新增最近六部未看完的“继续观看”,按原集数和进度直接续播。
    • 修复续播等待备用来源造成的 4 秒超时:原来源先播放,备用来源后台补齐,单个来源超时不再终止整组加载。
    • 首页、搜索和历史页返回后恢复位置与焦点;修复继续观看卡片无法按上键返回顶部导航。
    • 修复操作栏返回键和长按临时倍速恢复问题,保留数字键、菜单键和连续快进。

    适用于 Android 9 及以上设备。

    版本号仍为 10310 / 1.3.10。已安装 1.3.10 的用户请手动下载本页新版 APK 覆盖安装,不会收到同版本 OTA 提示;覆盖安装保留数据。

    APK:TVBox-v1.3.10.apk,5001469 字节。 SHA-256:cde557c130b3ea1b2045a0ea89f421bc3ef71756584232b5059127bee7701f87。

    签名 Release 构建与附件校验通过;未执行设备功能测试,由用户自行验收。

  5. v1.3.9TVBox v1.3.92026-09-21 · 2026-09-21 11:11 UTC
    查看更新说明

    本版本优化“电视(4)”普通电视直播页面的手机适配:支持手机竖屏底部频道面板、横屏左侧自适应面板、触摸点击选台和常用直播控制。电视盒子继续保留原有横屏布局与遥控器操作。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    TVBox

    TVBox 是一个面向 Android TV / 电视盒子的影视播放应用,使用 Kotlin、Jetpack Compose 和 Media3 ExoPlayer 构建。应用重点适配遥控器操作,支持影视分类、搜索、详情、m3u8 播放、观看历史、电视直播和 OTA 更新。

    当前源码版本为 1.3.13(versionCode=10313)。本版本合并 PR #5,修复重新进入搜索页后遥控器无法退格删除旧关键词的问题;感谢 @lliyuu520 提交修复。保留此前设备模式与 OTA 安装包保存能力;服务端部署方式见 多平台直播服务部署说明。

    请确保使用的影视与直播接口具备合法授权。本项目仅提供客户端能力,不内置或托管影视内容。

    界面预览

    TVBox 首页界面预览

    功能特性

    • Android TV 适配:支持 LEANBACK_LAUNCHER,可在电视桌面启动,同时保留普通 Android 启动入口。
    • 遥控器友好:方向键、确认键、返回键、菜单键和数字键均有对应交互。
    • 首页影视列表:默认展示豆瓣热播剧集,支持海报、评分、分页加载、焦点高亮;点击热播卡片后才按片名从当前影视数据源查找详情与播放资源。
    • 主题切换:设置页支持“默认主题”和“影院主题”;默认主题保留原有顶部快捷入口,影院主题提供左侧图标导航和 Hero 推荐布局。
    • 视频接口管理:内置《影视线路地址整理.md》收录的 32 个资源站,并保留原有扩展线路;设置页可选择首页数据源,也可手机扫码添加 MacCms 自定义接口。
    • 搜索与详情:关键词搜索最多三条来源并行,结果增量去重显示;重新进入搜索页时光标位于旧关键词末尾,可用遥控器退格删除。详情页优先显示主来源,后台补齐播放源和选集。
    • AI 找片:支持文字、应用内语音识别、快捷推荐词和“换一批”,可在设置页用手机扫码配置大模型、模型名和 API Key。
    • 播放器:基于 Media3 ExoPlayer,仅使用其视频解码与画面窗口;TVBox 自行处理遥控器快退/快进、切集、倍速、播放暂停、自动跳下一集和手机播放手势。
    • 画面比例:点播操作栏“画面”支持自适应、裁剪铺满和拉伸铺满,本机记忆并实时生效;播放页隐藏系统栏,退出后恢复。
    • 设备模式:设置提供“电视模式”和“手机模式”,默认电视模式,本机保存并优先于系统识别;电视短剧保持横屏,手机模式保留点播转屏和普通直播手机布局。
    • 观看历史:记录影片、封面、播放线路、集数、播放进度和更新时间;首页显示最近六部未看完的“继续观看”,原来源优先续播,备用线路后台补齐。
    • 返回定位:首页、搜索和历史页面恢复滚动位置与影片焦点;“继续观看”卡片可用方向上返回顶部导航。
    • 电视直播:支持 TVBox 文本与 M3U 直播源,主源不可用时自动尝试备用源;支持分组、左右切台、上下切换线路、数字选台,以及线路异常时自动换线。
    • 平台直播:支持斗鱼、虎牙、哔哩哔哩、抖音和快手,统一提供平台、一级分类、二级分类、直播间和播放器流程,并按平台返回结果优先选择最高画质;直播间可在本机收藏,在直播入口的“收藏”卡片中直接打开。
    • 播放亮屏:所有播放页在前台保持亮屏,暂停时同样生效;退出播放页或切到后台后恢复原设置。
    • 播放中断:切到后台或发生音频焦点中断后暂停,返回后由用户手动恢复播放。
    • OTA 更新:系统后台下载 APK,缺少系统下载组件时使用应用备用下载;小窗显示进度与授权状态,前台完成且获得授权后打开安装器,也可保存 APK 后通过文件管理器手动安装。
    • 内容过滤:过滤伦理、电影解说、演员、新闻资讯等不需要的分类或资源。

    遥控器快捷键

    首页:

    按键功能
    数字 1历史
    数字 2搜索
    数字 3AI 推荐
    数字 4电视直播
    数字 5平台直播
    数字 6设置
    方向键移动焦点
    确认键打开当前焦点内容
    下滑到加载更多自动加载下一页

    播放器:

    按键功能
    确认键展开控制栏,或操作当前聚焦控件
    媒体播放暂停键直接播放或暂停
    方向左 / 右控制栏关闭时每次快退 / 快进 10 秒并支持长按;控制栏打开时导航按钮,聚焦进度条时调整进度
    菜单键切换倍速并显示当前倍速
    数字 1上一集
    数字 3下一集
    返回键依次关闭选择面板、关闭操作栏、返回详情页

    直播:

    按键功能
    方向左 / 右上一个 / 下一个频道,支持首尾循环
    方向上 / 下切换当前频道的上一条 / 下一条线路
    确认 / 播放暂停显示左侧频道列表
    数字键输入频道号,例如 1、12
    返回键先关闭频道列表,再返回首页

    安装

    从 Release 下载最新 APK:

    • Latest Release
    • OTA 更新清单:https://raw.githubusercontent.com/ZxxXinI/tvbox/main/update.json

    通过 ADB 安装:

    adb install -r app\build\outputs\apk\release\app-release.apk
    

    如果是从 Release 下载的 APK:

    adb install -r TVBox-v1.3.13.apk
    

    OTA 更新机制

    应用启动后会请求:

    https://raw.githubusercontent.com/ZxxXinI/tvbox/main/update.json
    

    update.json 示例:

    {
      "versionCode": 10313,
      "versionName": "1.3.13",
      "apkUrl": "https://gh-proxy.org/https://github.com/ZxxXinI/tvbox/releases/download/v1.3.13/TVBox-v1.3.13.apk",
      "apkSha256": "2c69db103a867ed74d28481dcafd5f395f90d87b5cef6d0592ff12e167597edf",
      "apkSize": 5034437,
      "force": false,
      "changelog": [
        "修复重新进入搜索页后,遥控器无法退格删除旧关键词的问题。",
        "搜索框重新进入时光标位于关键词末尾,正常编辑保留光标和输入法状态。",
        "感谢 lliyuu520 提交 PR #5;保留搜索结果及返回定位逻辑。"
      ]
    }
    

    说明:

    • versionCode 必须大于当前应用版本,才会提示更新。
    • v1.3.13 可通过旧版应用的 OTA 提示更新,也可手动下载 APK 覆盖安装,保留本机数据。
    • 手机用户请到“设置 → 设备模式”选择手机模式;默认电视模式用于避免盒子播放短剧时切成竖屏。
    • 已下载的 APK 可从小窗选择“保存安装包”。系统没有文件选择器时保存到下载目录的 TVBox 文件夹;Android 9 需存储授权,手动安装仍受系统权限限制。
    • 旧版若无法在线更新,可从 Release 页面下载 APK 手动覆盖安装。
    • 下载开始后关闭弹窗或按返回不取消任务;后台下载完成时,回到应用后打开安装界面。系统安装仍需用户确认,取消后可从小型进度卡片手动安装;无需悬浮窗权限。
    • apkUrl 是 APK 下载地址,目前通过 gh-proxy.org 转发 GitHub Release 附件。
    • apkSha256 用于下载完成后的完整性校验。
    • force 预留强制更新能力,当前普通更新可选择稍后再说。
    • update.json 放在 GitHub 仓库根目录,随 main 分支更新后,应用会通过 raw 地址读取。
    • APK 附件上传到 GitHub Release,update.json 中的 apkUrl 指向对应 GitHub Release 附件。
    • git push 只会上传代码和 tag,不会自动上传 Release 附件。

    本地构建

    环境要求:

    • JDK 17
    • Android SDK
    • 使用项目内 Gradle Wrapper

    AI 找片配置:

    • APK 默认使用打包时配置的 TVBOX_AI_API_KEY 和内置 Agnes 参数。
    • 用户可在设置页选择 Agnes、DeepSeek、SiliconFlow 或 Qwen。
    • 模型名称和 API Key 不需要用遥控器输入;点击“模型”或“API Key”按钮后,电视会弹出二维码,手机扫码填写后自动同步到电视。
    • 设置页只有手机提交了 API Key 后才会覆盖 APK 内置 AI 配置;未填写时继续使用默认配置。

    打包时的默认 API Key 可放在本地配置中:

    TVBOX_AI_API_KEY=你的测试密钥
    

    TVBOX_AI_API_KEY 可以放在 local.properties、Gradle 属性或环境变量中。local.properties 已被 .gitignore 忽略,不会上传到仓库。

    视频接口配置:

    • 内置视频接口保留在 APK 中,不会被用户配置覆盖。
    • 设置页“视频接口”可选择当前首页、搜索和 AI 找片使用的数据源。
    • 点击“添加接口”后,电视弹出二维码;手机扫码填写接口名称和 MacCms 地址,确认后自动同步到电视。
    • MacCms 地址示例:https://example.com/api.php/provide/vod

    平台直播服务配置:

    • 服务端运行在电脑或服务器上,TVBox 通过 TVBOX_PLATFORM_LIVE_SERVICE_URL 访问统一接口。
    • 本次 v1.3.3 Debug 构建使用的服务地址为 http://20.205.10.127:8868。
    • Windows PowerShell 临时构建配置:
    $env:TVBOX_PLATFORM_LIVE_SERVICE_URL="http://20.205.10.127:8868"
    .\gradlew.bat testDebugUnitTest assembleDebug --console=plain
    
    • 该变量只在构建时注入 APK,不需要写入服务器代码;服务器 Cookie 只配置在服务器环境变量中。
    • 如果服务器地址变化,必须使用新地址重新构建 APK;不要填写 localhost 或 127.0.0.1。

    运行测试:

    .\gradlew.bat testDebugUnitTest --console=plain
    

    构建 debug APK:

    .\gradlew.bat assembleDebug --console=plain
    

    构建 release APK:

    .\gradlew.bat assembleRelease --console=plain
    

    release APK 输出位置:

    app\build\outputs\apk\release\app-release.apk
    

    Release 签名

    release 签名信息从 local.properties、Gradle 属性或环境变量读取,密钥文件不会提交到仓库。

    需要配置:

    TVBOX_RELEASE_STORE_FILE=signing/xxx.jks
    TVBOX_RELEASE_STORE_PASSWORD=***
    TVBOX_RELEASE_KEY_ALIAS=***
    TVBOX_RELEASE_KEY_PASSWORD=***
    

    签名校验:

    apksigner verify --print-certs app\build\outputs\apk\release\app-release.apk
    

    发布新版本流程

    1. 更新版本号、CHANGELOG 和 README;构建签名 APK 后,根据实际 SHA-256 和大小填写根目录 update.json。
    2. 仅暂存本次发布涉及的主工程代码及文档;如开发日志含无关修改,使用分段暂存。
    git add CHANGELOG.md README.md update.json app\build.gradle.kts app\src\main app\src\test app\src\debug devLog\home-player-ui.md devLog\playback-experience.md devLog\release.md
    git add -p devLog\README.md
    git commit -m "Release v1.3.13"
    git tag -a v1.3.13 -m "TVBox v1.3.13"
    git push origin v1.3.13
    
    1. 创建草稿 Release 并上传 APK 与相同版本的 OTA 清单,检查附件完整性。
    gh release create v1.3.13 app\build\outputs\apk\release\TVBox-v1.3.13.apk app\build\outputs\apk\release\update.json --repo ZxxXinI/tvbox --verify-tag --draft --title "TVBox v1.3.13" --notes-file app\build\outputs\apk\release\release-notes.md
    
    1. 公开 Release 后推送主分支,使 OTA 清单指向已经可下载的附件。
    gh release edit v1.3.13 --repo ZxxXinI/tvbox --draft=false --latest
    git push origin main
    

    GitHub Release 包含对应版本的 APK 和 update.json;应用启动时从 GitHub main 分支读取更新清单。

    项目结构

    app/src/main/java/com/tvbox/app
    ├── data        # API、仓库、历史记录、OTA、直播数据
    ├── domain      # 领域模型与解析规则
    ├── ui          # Compose 页面、播放器、直播页
    └── MainActivity.kt
    

    技术栈

    • Kotlin
    • Jetpack Compose
    • Compose for TV 基础能力
    • Media3 ExoPlayer
    • Retrofit / OkHttp
    • kotlinx.serialization
    • Coil

    版本记录

    详细变更见 CHANGELOG.md。

    🔗 友情链接 / Friends

    • LINUX DO — 新的理想型社区 / A new ideal community