你真的需要Apple TV吗?不如自制一个Android TV!

简介:

没有一个树莓派能逃离吃灰的命运。

去年我写了一篇《树莓派家用指北》,介绍了树莓派是如何作为家庭服务器改善我的生活的,指路链接 👇

https://mp.weixin.qq.com/s/JZR2gFnIFoYDG7Z9HwsS3A

今天我们的主角依旧是我的那个树莓派,只是以另一种形式在我的家里发光发热——电视盒子。

看到这可能有人会好奇,这个树莓派用作电视盒子后,原先的家庭服务器怎么办?事实上我之所以把这个树莓派做成电视盒子,第一个原因是我搬家了,需要重新升级规划下家里的软件系统,第二是我用 NAS 替代了原先的树莓派用作家庭服务器(有机会的话以后讲一下)。

所以为了不让这个“理财产品”就这么吃灰下去,我一直积极探索可能的用处,终于,我发现了一个最适合他的场景——Android TV。

为什么会想到 Android TV?

搬家之后,新屋子里有一个电视 + 办宽带送的中国移动的电视盒子,第一次打开它的时候,卡顿的系统、上古的 UI、繁杂的广告让我不禁感叹,这真的是 2022 年的东西吗?

心想那要不买一个 Apple TV 吧?可再看看价格,不免囊中羞涩,算了算了,还是留点老婆本吧。况且 Apple TV 这么好的盒子用在一个只有 1080P 的电视里属实是有些浪费了。

既然用不了苹果的电视服务,用安卓的总可以吧。

于是我又去搜索了一些国内的电视盒子,什么小米的、当贝的、荣耀的,横向比较了一下,不是性能孱弱(通常都是 2GB+32GB)就是广告遍地,而且还不能看海外电视。当然了,最关键的是还要多花一笔钱,想了想还是放弃了。

既然国内的安卓盒子不行,为什么不试试原生的 Android TV 呢?2022 年了,原生的 Android TV 应该有不少的发展了吧。

抱着试一试的心态,我打开了 Android 开发者的官网,发现 2022 年的 Android TV 无论是 UI 还是体验,都比以前有了长足进步,现在就差一个载体,而我刚好有这个最好的载体——树莓派。

行动起来

本文不是一个教学贴,因此不会手把手的记录整个流程,简单介绍一些我在自制这一过程中的关键点以及可能出现的问题。参考的帖子:https://konstakang.com/devices/rpi4/LineageOS18-ATV/

准备工作

你需要准备的东西有:

  • 一个树莓派 3B/4B,至少有 2GB RAM,建议 32GB+ 的 SD 卡(我的是 8GB RAM + 256GB ROM)
  • 一根 mini HDMI 转 HDMI/DP/VGA 数据线(根据你家的电视接口定)
  • 树莓派风扇(如果有最好,毕竟是 24 小时不关机的,散热还是有必要的)

我选择的是 konstakang 提供的 LineageOS 18.1 Android TV (Android 11),没有选择上 Android 12 的原因是当时还没有出 12 的 GApps(谷歌提供的一些套件),再加上一个电视盒子也没必要追求那么新的操作系统(国内还有不少手机停在 Android 10 万年不更新)

给树莓派刷入安卓系统的方法和刷入其他系统的方法基本一致,建议直接使用 Raspberry Pi Imager 烧录系统。工具地址 👉https://www.raspberrypi.com/software/

然后就和安卓刷机没什么区别了。

resize 你的 SD 卡


刚烧录的 Android TV 系统会出现不正常分区的问题,我们需要将 SD 卡上的空白空间都利用起来,执行 resize 的流程也很简单,只需要使用 TWRP 将提供的 resize.zip 刷入系统即可。流程和安卓刷机是一样的,需要借助一个叫做 TWRP 的工具,有安卓刷机经验的小伙伴应该很了解这个步骤。有关 TWRP 的介绍这里就不展开了,移步 👉https://twrp.me

resize.zip 的下载地址:https://androidfilehost.com/?fid=2981970449027577728

root & GApps 的安装

既然选择了自建 Android TV,肯定是希望可以享受到一些海外的优质媒体服务,那么谷歌套件就必不可少了。

我们需要借助 magisk 实现 root,然后刷入一些谷歌套件 GApps(需要科学上网),通常我们会选择 OpenGApps(感谢开源 🙏)

OpenGApps for andriod tv:https://opengapps.org/?arch=arm64&api=11.0&variant=tvstock

其他实用技巧

SSH 连接你的 Android TV

打开开发者选项

连接电视盒子

adb connect 192.168.2.134

以 root 方式访问 adb

adb root

从 android tv 获取 ssh 访问的 private key

adb pull /data/ssh/ssh_host_rsa_key my_private_key

文件添加权限

因为该文件是利用 adb 下载得到的,利用该文件执行 ssh 命令时会提示权限过高,因此需要设置权限为 400

chmod 400 my_private_key

ssh 连接树莓派

ssh -i my_private_key root@<你的树莓派地址>

查看当前 cpu 温度

通过查看你的树莓派运行时的温度,来决定是否需要为其加装一个风扇

cat /sys/class/thermal/thermal_zone0/temp

最后

目前这个 Android TV 服务在我家里已经运行了有半年了,配合着家里的软路由实现入口级的科学上网以及 NAS 用作家庭媒体中心,最后利用小爱音箱红外版接入了小米智能家居,已经可以实现不逊色于 Apple TV 的娱乐服务。

相关文章
|
Java API Android开发
Android TV 开发之 TV视频播放器(上)
Android TV 开发之 TV视频播放器(上)
1013 0
Android TV 开发之 TV视频播放器(上)
|
3月前
|
Java Linux Android开发
给TV添加一个投屏热键:基于MTK9269 android 9.0
本文介绍了在基于MTK9269 Android 9.0系统的电视上添加投屏热键的方法,包括配置红外遥控器按键映射、在PhoneWindowManager.java中添加按键响应代码,以及创建一个接收Intent的Android应用程序来处理热键触发的动作。
68 1
给TV添加一个投屏热键:基于MTK9269 android 9.0
|
2月前
|
编解码 Android开发
Apple不认Android的AMR?用暴风转码给它脱胎换骨吧
Apple不认Android的AMR?用暴风转码给它脱胎换骨吧
|
5月前
|
XML Java 开发工具
Android Studio开发Android TV
【6月更文挑战第19天】
192 5
|
存储 安全 JavaScript
如何在ios成功上架android tv?
如何在ios成功上架android tv?
|
存储 安全 JavaScript
如何在ios成功上架android tv?​
如何在ios成功上架android tv?​
132 0
如何在ios成功上架android tv?​
|
XML 存储 Android开发
Android TV 开发之 TV视频播放器(下)
Android TV 开发之 TV视频播放器(下)
520 0
Android TV 开发之 TV视频播放器(下)
|
Android开发
Android TV 焦点控制
Android TV 焦点控制
560 0
|
XML Android开发 数据格式
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
526 0