2026年10月24日 星期六

遠端清理 Sony BRAVIA 電視:Pi4 工具鏈安裝 + ADB 連線實戰(cleanyourtv 第一集)

最近翻開一個開源專案 cleanyourtv(26k+ stars),專門把 Android TV / Google TV 的肥軟「去肥」:遙測、廣告服務、預載垃圾 app 全數 disable,再換上一個乾淨、Apple TV 風格的 launcher。重點是全部走「停用」而非「卸載」,一行 restore.sh 就能完整還原。

這台主角是家裡的 Sony BRAVIA 4K UR3,執行機則是跟電視同一個 LAN 的 Raspberry Pi 4。本文是第一集:把「改裝電視」的三個前置完整走通——Pi4 要裝哪些軟體、電視要開哪些設定、以及 ADB-over-Wi-Fi 連線的完整測試。實際的 debloat 與 launcher 安裝,放第二集。

一、電視資訊(實測)

以下全部是用 ADB getprop 從電視抓回來的,不是翻型錄:

項目 值
品牌/型號 Sony BRAVIA 4K UR3
裝置代號 BRAVIA_UR3(MediaTek mt5893)
系統 Android TV 10(API 29)
韌體 BRAVIA_UR3_TW-user 10 QTG3.200305.006.S97 662301(台灣版)
IP 192.168.1.115
ADB 埠 5555(TCP,走 Wi-Fi)

兩個對後繼步驟很關鍵的事實:

  • 這台型號在 repo 的實測清單裡(examples/sony-bravia-4k-ur3),連韌體字串(QTG3.200305.006.S97)都吻合,現成有一份為它量身做的 debloat 清單。
  • 官方 launcher 的最低系統要求是 Android 8.0(minSdk 26);這台是 SDK 29,裝得上。

二、Pi4 要裝的軟體

Pi4 的角色就是「跟電視同一台交換器的 Linux 電腦」。工具鏈分兩塊:Python 工具(純 Python 的 ADB client,不用裝 adb 二進位)+ Android SDK(build launcher 用)。

組件 用途 我 pi4 的版本
git 抓 repo 2.43
Python 3 + venv 官方工具 tools/tv.py 的核心 3.13.5
adb-shell / rsa / cryptography Python 端 ADB 通訊與金鑰 0.4.4 / 4.9.1
JDK 17+ Gradle build launcher OpenJDK 21
Android platform-tools adb 協議工具 34.0.x
Android platform android-34 launcher compileSdk=34 android-34
Android build-tools aapt2/d8 等 34.0.0
Gradle 8.9 建構 由 gradle wrapper 自動下載

空間需求:SDK + Gradle + build cache 約 3–4 GB;我 pi4 有 33 GB 可用、7.6 GB RAM,夠用。

完整安裝指令(全在 pi4 上跑,可複製):

# 1) 抓 repo
git clone https://github.com/Gathin23/cleanyourtv.git ~/cleanyourtv
cd ~/cleanyourtv

# 2) Python 工具鏈(官方工具是純 Python,不用裝 adb)
cd tools
python3 -m venv venv
venv/bin/pip install -r requirements.txt
cd ..

# 3) Android SDK(給 launcher build 用;sdkmanager 需要 Java 17+)
mkdir -p ~/Android/Sdk
curl -sSLo /tmp/cmdtools.zip \
  https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
unzip -q /tmp/cmdtools.zip -d /tmp/sdkx
mkdir -p ~/Android/Sdk/cmdline-tools
mv /tmp/sdkx/cmdline-tools ~/Android/Sdk/cmdline-tools/latest
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager \
  --sdk_root=$HOME/Android/Sdk --licenses
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager \
  --sdk_root=$HOME/Android/Sdk \
  "platform-tools" "platforms;android-34" "build-tools;34.0.0"

第一次跑 SDK 那兩行會下載 1–2 GB,pi4 這種 100 Mbps LAN 大概五六分鐘。

三、電視端要做的步驟

全部用電視遙控,約三到五分鐘:

  1. 電視保持在 Wi-Fi(跟 Pi4 同一個 LAN),不要進休眠。
  2. 設定 → 系統(有的機型叫「裝置偏好」)→ 關於 → 把「Build」連按 7 次,出現「您現在處於開發人員模式」。
  3. 回上一層 → 開發人員選項 → USB 偵錯 = ON。
  4. 若看到「ADB over network / 網路偵錯」類型的開關,一併打開。我的 Sony 打開後 5555 埠就一直在監聽。
  5. 保留電視開著;首次連線時電視畫面會彈「Allow USB debugging?(允許 USB 偵錯?)」→ 按允許。之後同一組金鑰就不會再問。

四、連線測試(實測輸出)

先從 pi4 確認同一網路:ping 192.168.1.115 通,RTT 12 ms。

然後一發 probe:

TV_HOST=192.168.1.115 tools/venv/bin/python -I tools/tv.py --probe

輸出(一次就成功,電視端那下「允許」我按掉了):

ro.product.model = BRAVIA 4K UR3
ro.product.device = BRAVIA_UR3
ro.build.version.release = 10
ro.build.version.sdk = 29
ro.build.display.id = BRAVIA_UR3_TW-user 10 QTG3.200305.006.S97 662301 release-keys
ro.product.manufacturer = Sony
ro.adb.secure = 1
service.adb.tcp.port = 5555

ro.adb.secure = 1 代表這台是「安全模式」的 ADB——每個新機器第一次連都要人在電視上按「允許」,不會被網內任何其他主機直接撳開,算安全的。

tv.py 還內建 --screenshot:直接把電視畫面抓回檔案,做「遠端改裝、人不用站在電視前」的驗證非常方便,第二集會用。

五、注意事項(改裝前務必看完)

  • 全部是停用、不是卸載:動到的只有 pm disable-user,tools/restore.sh 一行命令全數還原。這台 Sony 的還原指令長這樣:
    TV_HOST=192.168.1.115 tools/restore.sh examples/sony-bravia-4k-ur3/debloat.txt
  • 不要手動 disable 系統核心包:repo 內建保護——任何 list 裡出現 com.android.*、com.google.android.*、com.sony.dtv.tvapi、tvinput*、braviasync、sonysystemservice、update* 這類,工具直接拒絕執行。
  • 這台 Sony 的官方清單保留項(重點,都是要保命的服務):Chromecast 內嵌、AirPlay、HomeKit、BraviaSync(多裝置 HDMI 聯動)、調頻器(tuner)、Sony 韌體更新(OTA)。
  • 系統更新副作用:Sony 推系統更新時,有可能把部分 disable 的包重新啟用。用 tools/check.py 定期複查;發現被還原的包,重跑一次 disable.sh 就好。
  • 保固:專案 README 明說軟體改裝可能影響保固。實務上全部是可復原的 disable(不是刷機),風險很低,但仍請自行評估。
  • 網路安全:ADB 5555 只該在 LAN 開放,不要對外網曝光。用完想收,回電視開發人員選項把 USB 偵測關掉(注意:部分機型「USB 偵測」一關,5555 也一起關,屬正常行為)。
  • 遙控器麥克風:這份清單會把語音助理(katniss / tv.assistant)也停用,遙控器上的麥克風搜尋隨之失效——想保留的人,把清單裡那三行註解掉再跑。

六、本集到此

前置三件事全部收尾:

項 狀態
Pi4 工具鏈(Python + JDK + Android SDK) ✅ 全部裝好
電視 ADB 開啟 + 允許金鑰 ✅ 192.168.1.115:5555 一次連通
型號比對 + 現成清單 ✅ sony-bravia-4k-ur3,韌體字串吻合

下一集:套用 debloat 清單、build 並安裝 Apple TV 風格 launcher、主題挑選,以及「改裝前/改裝後」的截圖對照。

沒有留言:

張貼留言