在樹莓派5安裝Android TV,打造開源電視盒!
1. Android TV特色#
為什麼裝Android TV呢?這個系統可以有效利用Android生態的豐富資源,達到本機播放串流和播放遠端影片的目的,這就是為何我不裝OpenMediaVault或LibreELEC這類系統的關係。若需要存取遠端的資源,安裝對應App就好了!
本文使用的Android TV ROM由KonstaKANG建置,基於LineageOS修改而來,支援Raspberry Pi 3 ~ 5的板子。
跟一般版的LineageOS比起來,Android TV版的LineageOS有專為電視設計的界面,可以將APP與電視節目釘選在桌面,方便用遙控器操控。
Android TV系統開箱即用,支援Play商店和Google Assistant聲控,可下載各式各樣的串流APP。
要注意的是,很多APP要求Android TV電視盒得通過Googe驗證,要有Widevine L1才給看,比如Netflix。KonstaKANG的ROM屬於第三方ROM,自然不可能通過認證,電視盒沒有Netflix認證是不能開啟APP的。此外,需要DRM等級的APP要裝KonstaKANG提供的模組繞過。
還有,Chromecast無法在非Google認證過的裝置執行(Android TV有Chromecast built-in,但實際上無法使用),因此要投放螢幕功能的人還是得另外準備實體Chromecast,或者使用破解Chromecast協定的AirScreen這類替代方案。
老實說樹莓派5的處理器跑Android TV屬於是overkill了,開發板價格比市面上許多電視盒貴,操作容易度也沒有比市面上的品牌好。但沒關係,這代表播放4K影片絕對難不倒它,如果只看Youtube和不要求DRM的串流的話是足以應付的。
2. 準備項目#
材料:
- 32GB以上的SD卡
- Raspberry Pi 5
- 乙太網路線或是Wifi連線
- 支援HDMI的電視螢幕,或者電腦螢幕
- 鍵盤、滑鼠、遙控器
- 麥克風,如果要使用Google助理聲控的話
在使用遙控器之前,最好先用鍵盤滑鼠來設定Android TV。
關於遙控器,可以用藍芽配對的遙控器,或者在樹莓派安裝紅外線模組(KonstaKANG有把相關驅動含在ROM裡),再配對實體紅外線遙控器。
我是買這種特殊的遙控器,兼具滑鼠、鍵盤、遙控器、紅外線的功能,只要插上USB接收器就能連線。
再不濟還可以用手機APP模擬遙控器,後面我會一併介紹。
3. 樹莓派5安裝Android TV#
樹莓派Android TV的映像檔是原生LineageOS。在刷入系統映像檔之後,要手動刷入GApps饞可以使用Play商店。
- 到KonstaKANG的網站下載這些檔案:
- lineage-22.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi5-atv.zip:Android TV系統映像檔
- KonstaKANG-rpi-resize.zip:自動擴充userdata分區的工具
- MindTheGapps-15.0.0-arm64-ATV-xxxxxxxx_xxxxxx.zip:安裝GApps
- KonstaKANG-rpi-widevine-15.zip:繞過DRM限制,讓裝置DRM等級變成L3,起碼能安裝APP。
下載後將
lineage-22.0-20241217-UNOFFICIAL-KonstaKANG-rpi5-atv.zip
解壓縮,得到.img檔。使用RPI Imager或balenaetcher刷入系統到SD卡
第一次開機,用鍵盤滑鼠操控,確認能進入桌面後關機。
4. 刷入GApps#
我們要透過TWRP刷入GApps。如果要裝Magisk,也是從這裡刷。
將樹莓派的SD卡插入電腦,掛載
userdata
分區,把剛剛下載的幾個zip放到/media/0/
目錄。或者額外準備一個隨身碟,將zip檔放進去。樹莓派開機,開啟Android TV系統設定 → 系統 → 按鍵 → 啟用進階重新啟動
Android TV系統設定 → 開關和電源 →重新啟動 → 重開機進入Recovery模式
重開機進入TWRP(此時得使用鍵盤滑鼠),點選Install → Select Storage,依序刷入resize、GApps、Widevine的zip檔。
切換到Wipe頁面,拉動滑桿,確認Format Data
重開機就可以登入Google帳號了。安裝GApps後可以用Google助理的快速設定功能,自動讓電視盒複製手機的資料,自動連上Wifi。
之後主界面會跑出Google的APP,安裝完成。
我測試的時候不需要驗證第三方ROM的裝置,但或許改天Google就會要你驗證了,這時請參考下面步驟。
開啟系統設定,連按5下「Android系統版本」叫出開發人員選項。
在開發人員選項開啟ADB,並啟用無線ADB。
在電腦上開啟adb,連線到Android TV的IP。IP可以到Android TV系統設定的網路查看。
adb connect LineageOS的IP:5555
- 執行以下指令,取得裝置ID
adb root
adb shell 'sqlite3 /data/*/*/*/gservices.db \
"select * from main where name = \"android_id\";"'
- 到Google裝置註冊網頁填入ID,等30分鐘後才可以使用Play商店。
5. 遙控器控制Android TV#
到Google Play商店下載Gboard,再於系統設定界面切換成Gboard。
我的遙控器能夠使用鍵盤輸入,搭配Gboard就能打中文。不過依然有無法選取打字的問題,可能是沒有優化好。
如果不想買遙控器,用開源的APP Bluetooth Remote by Atharok,它可以把Android手機變成藍芽遙控器。開啟藍芽後跟Android TV配對,這樣手機就可以遠端控制Android TV了。
6. 測試串流APP執行情況#
HDMI音效輸出有時候會偵測不到,請嘗試換一個孔。
如果APP支援的話,Android TV能夠在首頁顯示最近播放的影片。
Youtube APP我使用無廣告的SmartTube,正常執行,4K解碼也很快。螢幕支援的話也可以播HDR影片。
巴哈姆特動畫瘋正常。
LINE TV可以開啟
開源的TVBro瀏覽器是看片好幫手,能夠用來看網頁版Netflix。
Google Play不給下載CATCHPLAY+、Disney+。