在你的樹莓派5安裝Android TV,打造開源電視盒!
老實說樹莓派5的處理器跑Android TV屬於是overkill了,開發板價格也比市面上許多電視盒子貴,但沒關係,這代表播放4K影片絕對難不倒它。
1. Android TV特色#
為什麼裝Android TV呢?這個系統可以有效利用Android生態的豐富資源,達到本機播放串流和播放遠端影片的目的,這就是為何我不裝OpenMediaVault或LibreELEC這類系統的關係。若需要存取遠端的資源,安裝對應App就好了!
本文使用的Android TV ROM由KonstaKANG建置,基於LineageOS修改而來,支援Raspberry Pi 3 ~ 5的板子。
跟一般版的LineageOS比起來,Android TV版的LineageOS有專為電視設計的界面,方便用遙控器操控。
Android TV系統開箱即用,支援Play商店和Google Assitant聲控,可下載各式各樣的串流APP。
至於遙控器問題嘛,在樹莓派安裝紅外線模組(KonstaKANG有把相關驅動含在ROM裡),再配對實體紅外線遙控器。或者用手機APP模擬遙控器。
要注意的是,很多APP要求Android TV裝置得通過Googe驗證,要有Widevine L1才給看,比如Netflix。KonstaKANG的ROM屬於第三方ROM,自然不可能通過認證,電視盒沒有Netflix認證是不能開啟APP的,這個問題要找方法繞過。
還有,Chromecast無法在非Google認證過的裝置執行(Android TV有Chromecast built-in,但實際上無法使用),因此要投放螢幕功能的人還是得另外準備實體Chromecast,或者使用 CastReceiver、VLC這類替代方案。
2. 準備項目#
- 64GB以上的SD卡
- Raspberry Pi 5
- 乙太網路線,樹莓派的Wifi似乎會被USB 3.0干擾?得手動切頻段。
- 支援HDMI的電視螢幕,或者電腦螢幕
- 藍芽遙控器,或者用手機APP模擬遙控器。儘管Android TV的界面用鍵盤滑鼠不好操控,但還是得準備以防遙控器無法與系統互動。
3. 樹莓派5安裝Android TV#
樹莓派Android TV安裝過程與 安裝LineageOS類似。在刷入系統映像檔之後,要手動擴充容量,接著刷入GApps饞可以使用Play商店。
- 到KonstaKANG的網站下載Raspberrt Pi 5的LineageOS 21 (Andorid TV 14) ROM,解壓縮得到img檔
- 使用 RPI Imager刷入系統到SD卡
- 使用Gparted調整SD卡的分區,使userdata分區填滿SD的剩餘空間
- 第一次開機,確認容量是否有成功佔滿整個SD卡。
初次開機可能會卡在Searching for accessories…畫面,這個時候得使用藍芽遙控器,配合滑鼠確認,回到上一頁才能完成初始化。如果沒有藍芽遙控器請參考下文使用手機模擬。
4. 刷入GApps#
注意GApps必須下載Android TV專用的版本,目前只有MindTheGApps提供。
Android TV沒有內建瀏覽器,所以得用電腦瀏覽器下載 MindTheGApps
將zip檔放到SD卡的
userdata
分區下。或者額外準備一個隨身碟將zip檔放進去。樹莓派開機,開啟Android TV系統設定 → 系統 →按鍵 → 啟用進階重新啟動
Android TV系統設定 → 開關和電源 →重新啟動 → 重開機進入Recovery模式
重開機進入TWRP(此時得使用鍵盤滑鼠),點選Install,Select Storage,刷入GApps的zip檔。
重開機就可以登入Google帳號了。
之後界面會跑出Google的APP。
(我測試的時候不需要驗證裝置,但或許改天Google就會要你驗證了,這時請參考下面步驟)
開啟系統設定,連按5下「關於平板電腦」叫出開發人員選項。
在開發人員選項開啟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. 手機模擬電視遙控器#
我使用開源的APP Bluetooth Remote by Atharok,它可以把Android手機變成藍芽遙控器。
開啟藍芽後跟Android TV配對,這樣手機就可以遠端控制Android TV了。
注意傳送文字前要先切換輸入法語言再傳送。
6. 測試串流APP執行情況#
需要中文輸入法請裝Gboard。不過目前版本Android TV的鍵盤管理界面似乎會崩潰,所以我只好用ADB指令開。
adb shell ime enable com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
這樣就可以在系統設定界面切換成Gboard了。
HDMI音效輸出有時候會偵測不到,請嘗試換一個孔。
Youtube APP我使用無廣告的 SmartTube,正常執行,4K解碼也很快。螢幕支援HDR的話也可以播HDR影片。
巴哈姆特動畫瘋正常。
LINE TV可以開啟
順帶一提,開源的 TVBro瀏覽器也是看片好幫手,能夠用來看網頁版Netflix。
Google Play不給下載CATCHPLAY+、Disney+。
使用TWRP刷KonstaKANG-rpi-widevine模組之後(請到KonstaKANG網站下載),Android TV的DRM等級就會變成L3。
Netflix需要安裝 Netflix ATV L3 DRM Uncertified Mod才能開,可是這個版本的Netflix只給看低畫質影片,那麼還不如用網頁播放器。