开源 · MIT · Android 6.0+

把硬盘里的片子与照片
放到开机第一屏

一个可以在老款 Android TV 上自建桌面的轻量 Launcher。没有推荐位、没有开机广告、没有账号, 只有你自己的入口、真实缩略图和天气。一次点击,直接落到目录里。

版本 v0.4.3 体积 4.3 MB 包名 com.jktv.launcher 最低 Android 6.0 / API 23
JK TV 首页:左侧是自定义入口列表,右侧是时间与天气

首页:入口、时间、天气,就这些。壁纸是内置的 Unsplash 照片。

35 秒,配一段很轻的背景音乐。从开机第一屏走到目录、照片和设置。

01 — 起因

2016 年的电视,桌面上装的全是别人想让你看的东西

机器还能用,屏幕也没坏,但每次想放个片子,得先穿过一层推荐位、一层会员推广、三四层菜单。片子明明就在插着的硬盘里,桌面却从来没打算让你直接够到它。

找不到硬盘

外接盘要先进「我的设备」,再进 U 盘,再一层层点文件夹。看到第三层,已经忘了刚才点的是哪块盘。

没有缩略图

列表里全是文件名。IMG_20200911_142233.jpg 和一排同样的字,认不出哪张是孩子的照片。

改不了

桌面上那几个入口是系统写死的。想换一块盘、想加一个目录,只能忍着,或者换电视。


02 — 界面

四列网格,封面是真的

目录页用 16:9 的卡片铺开,视频取第一帧、照片取自身,缩略图生成后落盘缓存,第二次进来就是瞬开。

目录页:四列 16:9 网格,每个文件夹带封面

目录,不是文件列表

文件夹排前面,视频和图片按名字排。封面取自内容本身,一眼就能认出是《小猪佩奇》还是英语启蒙。

遥控器上下左右就能走完整个库,按下确认直接播——调用的是系统播放器,硬解、字幕、倍速都还是电视自己的那一套。

Photos

照片墙与全屏查看

按目录聚成网格,点开全屏、左右翻页、显示序号。家庭相册不用再借手机投屏。

Videos

视频列表带时长

文件名之外还有时长与封面,一集动画和一部电影分得清。音频文件走独立播放器,不再黑屏。

Weather

今天与未来三天

右上角是时间、温度、天气与城市,数据来自 Open-Meteo,不要账号、不要 key。

Wallpaper

十二张壁纸,也能用你自己的

导入本地照片会自动转 16:9、按 EXIF 摆正、剥掉定位信息。亮色壁纸会加深左侧渐变,白字不糊。

照片墙
全屏查看照片
视频列表

03 — 0.4.3 新增

入口可以改名,也可以指向任意一层目录

这一版把「入口」从一个写死的快捷方式,变成可以随手调整的东西:名字、图标、指向的目录、要不要出现在首页,都在遥控器上完成。

  • 01

    重命名,图标跟着换

    名字里带「电影/视频」是摄像机,带「照片/相册」是照片,其余是文件夹;HDMI 入口带「游戏」是手柄,带「Apple」是播放盒,其余是显示器。改过头了还能「恢复自动名称」。

  • 02

    更换目录,一路点进去

    「更换目录」和「添加文件夹」共用同一个目录浏览器:进到 U 盘里任意一层,按「选这个文件夹」就成。首页只看「动画」那一个目录,也摆得出来。

  • 03

    HDMI 入口能加回来

    「添加」页现在会列出 HDMI 1/HDMI 2。接上机顶盒、游戏机或电脑,加一条入口再改名,点一下直接切信号源;不想要就隐藏,之后随时加回来。

  • 04

    内部存储退成兜底

    只有一块外接盘都没插的时候,内部存储才会自动出现在首页。指向移动盘子目录的入口,按目录名显示,不再一律叫「移动存储」。

入口详情页:重命名、更换目录、恢复自动名称、从首页隐藏
背景设置页,右侧是首页实时预览

改设置时看得见首页

右侧那一栏不是装饰,是首页的实时预览。换壁纸、调布局、改字体,左边动一下,右边立刻就是最终的样子,不用退出去再看。

背景支持纯色、内置壁纸、自己的照片,以及每 5 分钟轮播。天气与城市在同一个页面的下一项。


04 — 与上游的差别

没有重做界面,做的是让它真的能用

本项目从 归藏 的 guizang-tv 分出来。设计语言、列表与 Dock 布局、设置分组都来自上游;这个分支做的是另一件事——让它在 2016 年的机器上装得上、跑得动,并且真的能当文件浏览器用。

能力上游 guizang-tvJK TV
最低系统Android 8 / minSdk 26Android 6 / minSdk 23,含 Java 8 API 脱糖
首页入口应用快捷方式增加「文件夹」入口,可改名、换目录、换图标、隐藏
目录浏览—独立目录页:四列 16:9 网格,封面生成与落盘缓存
图片查看—全屏、左右翻页、序号
音频交给视频播放器,画面全黑独立音频播放器:文件名、进度、上下首
视频播放通用 ACTION_VIEW小米私有 PLAY_URL + playInfo,固定系统播放器
天气实时天气今日高低温 + 未来三天,TLS 兼容性重试
壁纸内置 5 张 + 轮播十二张;支持导入本地照片并自动处理
开机自启—start_3rd_app + 极轻量启动判断

05 — 装上去

三种装法,最简单的不用电脑

签名从 0.4.0 起没变过,覆盖安装就行,设置和壁纸都留着,不需要卸载。

A

U 盘直接装

把 APK 拷到 U 盘,插电视,用系统自带的文件管理器点开它。装完按 Home 键选 JK TV。

B

adb 装

电视开 ADB 调试,同一局域网里一条命令。小米/红米要先在「账号与安全」里打开 ADB 调试。

C

自己编

仓库是标准 Android 工程,JDK 17 + SDK 34,gradle :app:assembleRelease 即可。

# 下载最新 APK
curl -LO https://github.com/Jkcode8/jktv/releases/latest/download/JKTV-0.4.3.apk

# 电视上先开 ADB 调试,然后
adb connect 电视IP:5555
adb install -r JKTV-0.4.3.apk
不提供内容源它是桌面和文件浏览器,不搜片、不追剧、不接任何影视平台。片子在哪儿,它就指向哪儿。
HDMI 切换只在小米固件上验证过依赖 com.xiaomi.mitv.tvplayer 的 ExternalSourceActivity。其他品牌不列点了没反应的入口。
移动硬盘要能被系统挂载NTFS 需电视固件支持。读不到的盘,JK TV 也读不到。

06 — 后续方向

还没做,但知道该往哪走

下面这些是按「用起来最疼」排的,不是路线图承诺。有想优先看到的,去 Issues 里说一声。

近期 · 用了就回不去

  • 跨盘全局搜索现在只能一层层点进目录,想找一个片名得记得它在哪块盘。
  • 长按菜单遥控器只有一个确认键,删除、移动、排序都得进设置。
  • 入口配置导出/导入换电视或重装后要重新配一遍,导成一个 JSON 就能搬。

中期 · 真正的内容源

  • SMB/WebDAV 网络盘NAS 用户是主力人群,现在只认本地挂载的外接盘。
  • 外挂字幕自动匹配同名 .srt 自动带进 playInfo,小米播放器本身不支持外挂。
  • 最近播放与收藏首页加一块「上次看到这儿」,不用每次从头找。

远期 · 走出小米

  • 信号源 provider 抽象把小米私有 Activity 抽成接口,海信/创维/TCL 各接一套。
  • 应用内多语言文案还硬编码在 Java 里,README 倒是有英文版了。
  • 缩略图预取与内存 LRU大目录首屏仍是串行生成,滚动会等。