SmartTube 部署完全指南:在 Android TV 上跑通无广告的第三方播放器
【免费下载链接】SmartTubeBrowse media content with your own rules on Android TV项目地址: https://gitcode.com/GitHub_Trending/smar/SmartTube
遥控器只按方向键、却想看没有广告和弹窗的视频,官方应用常常让你失望。SmartTube 是一个面向 Android TV 和电视盒子的免费开源媒体客户端,把浏览和播放的节奏交给使用者自己定。
一分钟搞懂 SmartTube 是干什么的
SmartTube 的定位很单纯:在电视大屏上,按自己的规则看公开来源的媒体内容。它覆盖首页推荐、订阅频道、历史、音乐与搜索等板块,界面里没有官方应用常见的角标和推广位,也不依赖 Google 服务组件。登录账号是可选的——不登录就像"隐身模式",观看记录不会反过来影响推荐结果。
它解决的核心痛点是"控制权"。内置的 SponsorBlock(社区众包的跳广告方案)可以直接跳过赞助、片头片尾;播放速度、画质、帧率都能手动锁死;还带一个直播聊天窗口。相比只能在官方应用里被动接受推送,SmartTube 把选择权还给了遥控器。
用一个类比:如果把官方应用比作一条固定线路的公交,SmartTube 更像一辆你自配的行车记录仪——路线、限速、要不要跳过某段路,全由你来拨。
最小可行流程:从源码构建到装进电视
环境要求分两侧。电视侧,任何 Android 4.3 及以上的 Android TV 或 TV 盒子都行,而三星 Tizen、LG webOS 这类非安卓系统不支持。构建侧,一台装有 Android Studio 与 Android SDK 的电脑,JDK 要停在 OpenJDK 14 或更旧的版本,再高一点就可能让应用装完就崩溃。电视和电脑最好在同一局域网,方便用 adb 无线连接。
先拉代码。这个仓库带子模块(ExoPlayer 播放内核等),必须一起初始化,否则构建会缺依赖:
git clone https://gitcode.com/GitHub_Trending/smar/SmartTube cd SmartTube git submodule update --init接着把电视接进来,把占位符换成电视的实际 IP 地址:
adb connect <设备IP>第一条真正会跑的命令是这条,它编译 stable 渠道的 debug 包,并直接安装到刚连接的设备上:
./gradlew clean installStstableDebug任务结束后电视里会多出 SmartTube 图标,点开即可进首页。如果这台电视从没装过第三方应用,第一次要在系统设置里允许安装未知来源,之后就不会再问。产物文件名带版本号与 CPU 架构,能一眼区分稳定版、beta 版和 F-Droid 版。
按场景选型:stable、beta 还是自己编
| 你的场景 | 推荐配置 | 一句理由 | | 老电视盒子、性能吃紧 | stable 版 + VP9 + 1080p | 稳定优先,避开多数老设备不支持的 AV01 | | 新旗舰盒子、支持 4K/HDR | beta 版 + AV01 + 8K/HDR | 用上新编解码器,画质更高、码率更省 | | 想改参数、自编译 | gradlew 源码构建 | 版本与依赖完全可控 | | 想和官方版共存 | stfdroid flavor | 应用 id 不同,不会互相覆盖 |
选编解码器(也就是视频压缩算法)有一条规律:同分辨率下码率越低通常越好,AV01 < VP9 < AVC。新盒子优先 AV01,老设备退回 VP9,AVC 只留给特别旧的硬件。拿不准就先装 stable,用一段时间没问题再切 beta。
关键数据:三个值得留意的数字
- 兼容下限:Android 4.3(2013 年 Kitkat),十年前的盒子也能装
- 播放上限:8K 分辨率、60fps、HDR,前提是硬件本身支持
- 版本节奏:当前 32.38(versionCode 2428),beta / stable / fdroid 三渠道并行
踩坑备忘:安装与播放最常卡住的几处
- 现象:报 "the video profile is not supported" 或 "unknown codec"。原因:设备不支持 AV01。处理:在播放器左下角的 HQ 按钮里把视频格式改成 VP9。
- 现象:换了新 JDK 后构建出的 App 一开就崩。原因:项目要求 OpenJDK 14 或更旧。处理:把开发环境的 JDK 版本降回去再重新编译。
- 现象:手机上装不进、也不能竖屏。原因:应用只面向 Android TV 硬件,不支持纯触屏输入。处理:换电视盒子,手机只用来投屏。
- 现象:Chromecast with Google TV 拒绝安装。原因:系统默认禁止未知来源应用。处理:先在"关于"里连点版本号开启开发者模式,再打开 Unknown sources。
- 现象:安装提示失败。原因:磁盘满了,或 APK 没下载完整。处理:清理空间重新下载,并且一定装进内部存储而不是 SD 卡。
往深处读:这些文件值得花十分钟
想弄明白发行渠道和 CPU 架构怎么切,看 smarttubetv/build.gradle 里的 productFlavors 与 ABI 配置。播放与网络这块的公共逻辑集中在 common/ 模块,界面与播放相关代码在 smarttubetv/src/main/java/。安装、编解码、HDR 这些细节,README.md 的 FAQ 写得最全。
把 stable 版装进电视、跳过一段赞助、把画质锁到 1080p,这套流程走一遍,SmartTube 的价值就清楚了。下一步:打开电视上的 SmartTube,进设置里把 SponsorBlock 的跳过类别挑一挑。
【免费下载链接】SmartTubeBrowse media content with your own rules on Android TV项目地址: https://gitcode.com/GitHub_Trending/smar/SmartTube
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考