Android TV をきれいにする
root不要すべて元に戻せる
テレビが重くなってきたら、使っていない工場出荷アプリを無効化できます。以下に四つの準備手順と、AI エージェントに渡すプロンプトがあります。何もアンインストールされず、どの手順も元に戻せます。Windows でも Mac でも Linux でも同じです。
準備
-
開発者向けオプションを有効にする
テレビで 設定 → システム → 端末情報 を開き、ビルド番号 の行でリモコンの OK ボタンを 7 回押します。
-
デバッグを有効にする
設定 → システム → 開発者向けオプション → USB デバッグ。「ワイヤレスデバッグ」という別項目があれば、それも有効にします。
-
テレビの IP アドレスを調べる
設定 → ネットワークとインターネット → ステータス。
192.168.で始まる番号をメモします。パソコンはテレビと同じネットワークにいる必要があります。同じ Wi-Fi、または同じルーターです。 -
Claude Code か Codex を開いてプロンプトを貼る
下のテキストをコピーし、2 か所の
ここに記入をテレビの型番と IP アドレスに置き換えて、エージェントに渡します。あとはエージェントがやります。必要なツールの導入、テレビへの接続、掃除まで。変更のたびにスクリーンショットでテレビの画面を自分で確かめ、止まって聞いてくるのは画面では分からないことだけです。音、リモコン、あなたが使うアプリなど。
プロンプト
ADB 経由で私の Android TV を掃除してほしい。目的は、広告と「おすすめ」の列を
なくすこと、使っていない工場出荷アプリを無効化すること、そしてテレビを速く
すること。コマンドは君が実行して、変更のたびにテレビの画面で自分で確かめ、
何をしているのかを平易な言葉で説明してほしい。
私のテレビ
- メーカー / 型番: ここに記入 (例: TCL Smart TV Pro)
- テレビの IP アドレス: ここに記入 (テレビ > 設定 > ネットワークと
インターネット > ステータス)
- 「開発者向けオプション」と「USB デバッグ / ワイヤレスデバッグ」はすでに
有効。私のパソコンとテレビは同じネットワーク上にある。
ルール (文字どおり守ること)
1. 何もアンインストールしないこと。`pm disable-user --user 0` だけを使い、
すべて `pm enable <パッケージ>` で元に戻せる状態にすること。
`pm uninstall` は禁止。
2. root 化、ブートローダーのアンロック、カスタム ROM は提案も試行もしないこと。
テレビが初期化され、Widevine 証明書が L1 から L3 に落ちれば Netflix は SD
画質になる。得るものは何もない。
3. まずバックアップと計測をすること。何かを変える前に、`tv-debloat` フォルダ
に次を保存する: `pm list packages -f`、`pm list packages -d`、`getprop`、
`settings list global`、`settings list secure`、`settings list system`、
`dumpsys meminfo`。すぐに復元スクリプト (`restore.sh`、Windows なら
`restore.ps1`) を作り、パッケージを無効化したらその場で追記すること。
最後にメモリの計測を繰り返し、前後の比較表を出すこと。
4. 自分の作業をテレビで自分で確かめること。各組のあと、
`adb shell input keyevent` でキーを押し (ホーム、方向キー、戻る、
入力切替/ソース)、`adb exec-out screencap -p > screen.png` で
スクリーンショットを取って見ること。ホーム画面は出るか、入力切替メニュー
は開くか、HDMI に切り替えられるか、Netflix と YouTube はまだ起動するか。
見つけた問題は直してから先に進むこと。ライブ TV や HDMI が映っている間に
スクリーンショットが真っ黒になるなら、先にホームを押すこと。私に聞くのは
スクリーンショットでは分からないことだけにする: 音、リモコンのボタン、
画面キーボード。
5. 小さな組で、コマンドは一つずつ。一組で無効化するのは最大 10 パッケージ
まで。`pm` コマンドは一つずつ別の shell 呼び出しで実行すること。つないだ
コマンドは最初の一つのあと黙って止まることがある。何かが壊れたら、まず
直前の組をまとめて戻し、それから一つずつ絞り込むこと。
6. メーカーに関係なく、テレビが動くのに必要なものは絶対に無効化しないこと:
- テレビアプリと、HDMI とアンテナ/チューナーを再生する入力サービス
- 入力切替/ソースメニュー (メーカーの「クイックパネル」)
- リモコンと Bluetooth ペアリングのサービス
- 画面キーボード (*.inputmethod.*)
- Play ストアと Play サービス: com.android.vending、
com.google.android.gms、com.google.android.gsf
- com.android.location.fused: 無効にするとテレビが起動ループに入る
- 今のホーム画面。新しいものを入れてデフォルトにするまでは触らない
パッケージ名から役割が分からないことは多い。自信のないパッケージは、
無効化する前に `dumpsys package <名前>` でアクティビティとサービスを
確認すること。それでも分からなければ私に聞くこと。
たとえば TCL で知られている落とし穴:
com.tcl.suspension -> リモコンの入力切替/ソースメニュー。名前は
ゴミのように見えるが、無効にすると HDMI
に切り替えられなくなる。
com.tcl.ttvs -> システムアップデート(ネットワーク / USB)。
名前は音声読み上げ(TTS)のように見えるが、
無効にするとアップデートメニューの項目が
エラーも出さずに反応しなくなる。
com.tcl.tv, com.tcl.tvinput -> HDMI / アンテナの入力サービス
com.tcl.providers.config,
com.tcl.initsetup -> どちらかを無効にすると Wi-Fi が切れる
com.google.android.tv.remote.service,
com.tcl.tcl_bt_rcu_service,
com.tcl.autopair -> リモコン
7. 私次第のものは、触る前に聞くこと。ストリーミングアプリ、音声アシスタント、
Chromecast、画面ミラーリング、システムアップデートのサービス。チェック
リストを見せて、私がチェックしなかったものだけを無効化すること。
8. 記録を残すこと。無効化したパッケージはすべて `tv-debloat` フォルダ内の
`disabled.txt` に書くこと。同じフォルダに `DEBLOAT-LOG.md` を置き、何を
なぜやったか、そして各変更を元に戻す正確なコマンドを残すこと。
この順番でやること
a) `adb` が入っているか確認し、なければ入れる。私がどの OS を使っているかを
調べて適切な方法を選ぶこと。Windows なら Google の platform-tools を
ダウンロードして PATH に追加、macOS なら
`brew install android-platform-tools`、Linux なら `apt install adb`。
そのあと `adb connect <IP>:5555` で接続する。テレビに「このパソコンからの
デバッグを許可しますか?」が出るので、私に知らせて承認させること。
Android 11 以降で、テレビの「ワイヤレスデバッグ」画面がペア設定コードを
求める場合は、先に `adb pair` を使うこと。
- macOS でポートは開いているのに adb が「No route to host」と言う場合は、
macOS の「ローカルネットワーク」のプライバシー設定が止めている。
原因を追わずに、venv に入れた Python の `adb-shell` パッケージを ADB
クライアントとして使うこと。
- テレビの USB ポートに何がつながっているか私に聞くこと。USB デバッグが
有効な間、USB ポートへの給電を止めるテレビがあり、USB スピーカーや
ディスクが動かなくなる。
b) バックアップと計測をする (ルール 3)。
c) 既成のリストを探すこと。github.com/Gathin23/cleanyourtv の `examples/`
に私の型番か近い型番のフォルダがあれば、その `debloat.txt` と冒頭の
メモを読んで出発点にすること。それでも私のテレビのパッケージは一つずつ
ルール 6 で確認すること。
d) パッケージを表に分けて見せること:
(1) テレメトリ、広告トラッキング (Samba TV、Alphonso、Anoki などの ACR)、
メーカーの分析サービス
(2) メーカーの広告・コンテンツサービス: おすすめの列、コンテンツフィード、
店頭デモモード
(3) たぶん要らないバックグラウンドサービス: 重複したキャストや共有の
サービス、クリーナー
(4) プリインストールアプリ
(5) 私次第 (ルール 7)
(6) 触ってはいけないもの (ルール 6)
私の承認を得てから (1) と (2) に着手すること。
e) アニメーション速度を半分にする:
settings put global window_animation_scale 0.5
settings put global transition_animation_scale 0.5
settings put global animator_duration_scale 0.5
f) `pm trim-caches 999G` でキャッシュを空にする。
g) テレビを再起動し、スクリーンショットで確認して、もう一度計測する。
ホーム画面を差し替える
Google TV のホーム画面は広告と「あなたへのおすすめ」の列だらけだ。代わりに
FLauncher を使いたい (Play ストアにあり、無料、オープンソースで、自分のアプリ
のグリッドしか表示しない)。
- まず私に FLauncher を入れるよう指示し、入ったことを確認すること。
- ホーム画面を名乗るアプリを一覧にすること:
cmd package query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
`cmd package set-home-activity` で FLauncher をデフォルトにするか、
テレビで私に選ばせること。
- Google TV では、セットアップウィザード
(com.google.android.tungsten.setupwraith) が、元のホーム画面を無効化した
あとでもホーム画面を奪い返すことがある。再起動後に確認し、そうなっていれば
それも無効化すること。
- そのあとで初めて元のランチャーを無効化すること: Google TV なら
com.google.android.apps.tv.launcherx、Android TV なら
com.google.android.tvlauncher。
- テレビを再起動し、ホーム画面が FLauncher のままであることをスクリーン
ショットで確認すること。
- Android 14 で `adb install` が止まったら、テレビ側で確認を待っている。
APK をテレビに送り、shell から `pm install -r` で入れること。
終わったら次を出すこと
1. メモリの前後比較表。
2. 無効化したパッケージの一覧。それぞれに「これが何だったか」を一行で。
3. 復元スクリプトと、すべてを元に戻す一行のコマンド。
4. テレビの USB ポートにつないだものが動かなくなっていたら、USB デバッグを
オフにするようにという念押し。
このプロンプトには cleanyourtv から学んだことも取り入れています。そこには多くの機種向けの既成リストもあります。
四つの注意
名前から中身が分からないパッケージは無効化しない
私のテレビでは com.tcl.suspension を無効にした途端、リモコンの「入力切替」ボタンが死んで HDMI に切り替えられなくなりました。入力切替メニューそのものだったのです。TCL の一部の機種では、com.tcl.providers.config と com.tcl.initsetup も同じように Wi-Fi を切ってしまいます。
新しいホーム画面を入れる前に、今のホーム画面を無効化しない 先に FLauncher を入れて既定に設定します。そのあとで初めて古いランチャーを無効にします。順番を間違えると真っ暗な画面になります。
root 化はしない
ブートローダーのアンロックでテレビは初期化され、Widevine が L3 に落ちれば Netflix は SD 画質になります。得るものはありません。disable-user が root でやりたいことをすでにやってくれます。
終わったら USB デバッグをオフに USB デバッグが有効な間、USB ポートへの給電を止めるテレビがあります。USB スピーカーやディスクが動かなくなったら、開発者向けオプションで「USB デバッグ」をオフにしてください。
元に戻す
何もアンインストールしていないので、どの手順も元に戻せます。エージェントは無効化したものの一覧を持っているので、「無効にしたものを全部戻して」と言うだけで足ります。
アプリを一つだけ自分で戻したいときは:
adb shell pm enable com.tcl.suspension