Repository navigation
Releases
v0.4.6
快进之后也能接下一集,换集不再闪黑
0.4.4 把视频按文件夹顺序排起队,0.4.5 放宽了「算不算看完」的门槛,但两条判据都还依赖「实际停留了多久」。快进时几秒钟就跳到片尾,停留时间必然不够,于是队列在这里断掉——这正是「快进到下一集又退出了」。
- 快进不再断连播:判据从「片长的一半」改成「片长的十分之一」,上限 2 分钟、下限 5.5 秒。快进后停留再短也能接上,长片也不会因为台机播放器提前结束(实测 63 秒的文件 45 秒就关)而断在门槛外
- 换集时机更准:改用
startActivityForResult的回调判断播放器关闭,比onResume早一步,也不会把系统弹窗、屏保这类插曲误当成「播放器退出」。onResume保留作兜底,两条路径去重 - 中间那帧纯黑删掉:从播放器退出到下一集开始只隔 300 毫秒,不再有黑底遮挡和「接下来:xxx」的字幕
- 长片不再套用「离结尾不到 2 分钟」这条规则,它在台机上正好落在门槛之外
为什么小米自带的文件管理能无缝连播,这个应用做不到
小米文件和系统播放器同为系统签名应用(uid 1000),两者间有一套私有协议:文件管理点开视频时先把整个文件夹的列表写进自己的数据库,播放器播完一集就去 com.xiaomi.mitv.mediaexplorer.contentprovider 取下一集,连播放界面都不退出。这个数据库拒绝第三方访问(Permission Denial: ... not exported from uid 1000),本应用又不是系统签名,读不到也写不进,只能自己排队、一个文件一次地投给播放器。
所以「是否播完」只能靠停留时间推断:播放器不返回结果码、不发结束广播,它的 PlayStatusProvider 只有 path 和一个从头到尾都是 2 的 status。代价是——看了十几秒就按返回退出,可能会自动接下一集,再按一次返回即可停下。
v0.4.3
首页的入口终于能改名,HDMI 也能加回来了。
0.4.2 为了让两块盘的序号对得上,把入口名改成每次按挂载情况现算,代价是用户自己起的名字连同跟着名字走的图标一起失效,首页只剩一排「移动存储 1/2」。现在顺序反过来:自定义名优先,自动名兜底,点过「恢复自动名称」也真的会恢复。
新增
- 重命名:设置 → 首页内容 → 选中入口 → 重命名。改名连带换图标——名字里带「电影/视频」是摄像机,带「照片/相册」是照片,其余是文件夹;HDMI 入口里带「游戏/PlayStation/Switch/Xbox」是手柄,带「Apple/苹果」是播放盒,其余是显示器
- 更换目录:「更换目录」与「添加文件夹」都能一层层点进 U 盘内部,把入口指向任意子目录(如
U盘/动画),不再局限于卷根和内部存储的四个固定目录 - 目录浏览器:每层最多列 60 项、按中文序排列,隐藏目录与 Windows/Android 自建的
System Volume Information、$RECYCLE.BIN、Android不列出 - 「添加」页列出 HDMI 1/HDMI 2。隐藏过的信号源在这里能重新加回,此前扫描只覆盖已装应用,HDMI 一旦隐藏就再也加不回来
- 重命名页带常用名字(电影动画、家庭照片、我的视频、我的文件/机顶盒、游戏机、电脑、蓝光机),遥控器上不必打中文
- 改过名的入口多一项「恢复自动名称」
修复
- 磁盘入口的自定义名字丢失:0.4.2 改成按挂载情况现算后,用户起的名字和图标一起失效
- 「恢复自动名称」点了没反应:保存顺序时会把当前显示名顺手写进
name:…快照,删掉别名之后又读到它。现在名字只走alias:…一套键 - 旧版
name:dir:…里的自定义名自动迁成新键;自动生成的名字(「移动存储 1」「内部存储」)不迁移,避免换盘或改顺序后错位 - 浏览器里的长文件名顶破一行
变更
- 内部存储改为兜底入口:没有插任何外接盘时才自动出现在首页。已存在的内部存储入口不动,要移除在入口详情里选「从首页隐藏」
- 指向移动盘里子目录的入口按目录名显示(如「动画」),不再一律叫「移动存储」
- HDMI 端口先探测再列:只有固件里
ExternalSourceActivity处于启用、可外部拉起时才出现,不支持的机器不列点了没反应的入口 - 重命名与隐藏对 HDMI 入口、应用入口一样可用,应用保留自己的图标
安装
adb install -r JKTV-0.4.3.apk也可以拷到 U 盘插电视上直接覆盖安装。签名与 0.4.2 一致,覆盖升级后设置与壁纸都保留,不需要卸载。Android 6.0(API 23)及以上。
SHA256 校验值见下方 SHA256SUMS.txt,完整变更见 CHANGELOG。
v0.4.2 · 首页入口改为运行时探测
首页默认入口不再写死开发者本机的 U 盘卷 ID 和第三方应用包名。此前在别的机器上装完,首页那几个入口全都指向不存在的路径,点了没有反应,得改源码才能用。现在改成运行时探测:外接盘优先,其次内部存储,最后是确实装着的系统应用。
新增
- 设置 → 首页内容 → 添加入口 → 文件夹:从 U 盘、SD 卡或内部存储里挑一个目录作为首页入口。以前文件夹入口只能在源码里写死,换一块硬盘就无从修复
- 入口名称带多盘序号(
移动存储 1/移动存储 2),接两块盘时分得清 GET /storage拿不到的存储卷,改由getExternalFilesDirs反推卷根,普通应用没有/storage读权限也能列出来
修复
- 首页默认入口写死
/storage/9E2C13BF2C1390FF等两个 U 盘卷 ID 与第三方应用包名,别人的机器上入口全部失效 - 壁纸索引超限时只报「超过 15 张」,现在报错信息带上实际条数
文档
- 新增英文 README、贡献指南、变更记录、Issue 与 PR 模板
- README 补「电视怎么开 ADB 调试」(小米/红米、原生 Android TV、Android 11+ 配对制)与「不想装开发环境怎么改代码」
- 重拍全部 8 张真机截图
安装
adb install -r JKTV-0.4.2.apk也可以拷到 U 盘插电视上直接覆盖安装。签名与 0.4.1 一致,覆盖升级后设置与壁纸都保留,不需要卸载。Android 6.0(API 23)及以上。
SHA256 校验值见下方 SHA256SUMS.txt,完整变更见 CHANGELOG。
v0.4.1 · 12 张内置壁纸,小米入口修好了
这一版做了什么
壁纸变成了你自己的照片。 内置 7 张我自己拍的风景(雅丹、草原、梯田、山水),和原有 5 张 Unsplash 一起轮播,总共 12 张,排在最前面。全部按电视做过统一处理:16:9 裁到 1920 × 1080、亮度 −0.09 EV、按原图亮度叠一层自适应暗角,输出剥离 EXIF——拍摄定位和机型不会跟着图片跑出去。
修了一个只影响非 MTSU0 机型的 bug。 之前小米桌面入口的开关写死了 Build.MODEL.equals("MiTV-MTSU0"),换一台小米电视,HDMI、输入源、小米桌面这几个入口就全灰了。现在改成按品牌 + 组件探测,只要机器上装着 com.mitv.tvhome 就放行。
天气不用再手动开了。 新装即显示,识别到城市就出温度。
文档
- README 补了「电视怎么开 ADB 调试」:小米/红米、原生 Android TV、Android 11+ 的配对制各写一段,另附故障排查表
- README 补了「不想装开发环境」的三条路,包括 Fork → Actions 云端编译拿 debug APK,以及把仓库丢给 AI 改时可以直接复制的提示词
- 壁纸许可写清楚了:5 张是 Unsplash License,7 张是我自己拍的、CC BY 4.0。两批都能免费用,署名条件不同
安装
覆盖安装即可,包名与签名与 v0.4.0 相同,壁纸与入口配置都会保留。
adb connect <电视IP>:5555
adb install -r JKTV-0.4.1.apk
这个包里没有任何个人照片,12 张壁纸都可以公开分发。
JK TV v0.4.0
第一个可以装着用的公开版本。
装之前先确认
- 包名
com.jktv.launcher,和上游「归藏电视」完全独立,可以同时装在一台机器上 - 最低 Android 6.0(API 23),在上面那台 2016 年的小米 MiTV4 上验证过
- 装好后按遥控器首页键回到 JK TV;想退回原桌面,去设置里关掉「桌面与启动」,或直接卸载——它没有替换任何系统组件
安装:
adb connect <电视IP>:5555
adb install -r JKTV-0.4.0.apk或者拷到 U 盘插电视上装。
这个版本做了什么
- 硬盘直达:首页入口直接绑到存储卷路径,按下确认落到目录缩略图墙,不经过系统菜单
- 真实封面:文件夹优先取内部照片,没有就取视频第 1/5 处抽帧(避开片头黑场),结果落盘缓存
- 看图与听歌:全屏查看带序号翻页;音频有独立页面(文件名、进度、时长、上下首),不再是黑屏
- 视频走小米私有通道:
PLAY_URL+playInfo,修掉了error_code (1001,1) - 天气:今日高低温 + 未来三天预报,兼容 Android 6 那个过旧的根证书库
- 壁纸:可以导入自己的照片,自动 16:9 裁切、按 EXIF 摆正、剥离定位信息;亮色壁纸上的白字加了投影
校验
| 项 | 值 |
|---|---|
| SHA-256 | 5f993a7ec09d7fc22d6df7f1e36ee3c782af98bb6e42c7fd45832bb011e14497 |
| 大小 | 2045334 字节(1.95 MB) |
| 签名 | v1 + v2,RSA 4096,CN=JK TV |
| 证书 SHA-256 | 9492c27cc9348c4aab1aac337d541d4f909740c82a0054ff7e38212d062cce6b |
已知限制
电视重启后 ADB 会复位(MIUI TV 的既有行为,只影响远程维护);AI 助手入口来自上游,后端需要在电脑侧运行本地服务,当前点击不产生动作;视频播放中的画面截不出来,是硬解输出在独立图层的正常表现。
来源
基于 @op7418/guizang-tv 二次开发,起点 312c011。界面设计语言、列表与 Dock 布局、设置分组都来自上游,本版本做的是 Android 6 兼容层与文件浏览能力。详见 README。