HN 日本語サマリー

← 一覧へ戻る
その他

広告なしのAndroid TV

An ad-free Android TV (cretezy.com)

329 pointsby CraftThatBlock139 コメント

要約

この記事では、Android TVのホーム画面に表示される広告や推奨コンテンツを排除し、よりクリーンでカスタマイズ可能なユーザー体験を実現する方法を解説しています。Projectivy LauncherやSmartTubeなどのサードパーティ製アプリを導入し、ADBコマンドを用いてシステム設定を変更する手順が紹介されています。

全文翻訳

広告なしのAndroid TV

Android TVは気に入っています。必要なアプリはすべて動作し、Chromecastは安価で、多くのテレビに内蔵されています。気に入らないのは広告です。ここでは、私のデバイスで広告なしで視聴するための設定を紹介します。

ほとんどのAndroid TVデバイスのデフォルトインターフェースであるGoogle TVは、ホーム画面の上部に、Googleが次に視聴してほしいものを宣伝する大きなバナーを表示します。これは、あなたが使っていないアプリからのものであることも多いです。「アプリのみモード」はホーム画面をアプリだけに絞り込むはずですが、バナーは残ったままで、オフにする設定はありません。

[画像: アプリのみモードでも、まだ大きな宣伝バナーが表示されているGoogle TVのホーム画面] 以前: Google TV、アプリのみモード

自宅のいくつかのデバイスを設定した後、広告が一切なく、より良いインターフェースを備えた設定にたどり着きました。

設定

  • Projectivy Launcher がホーム画面を置き換えます。アプリだけを表示し、非常にカスタマイズ可能です。FLauncher や ATV Launcher Pro も良い代替案です。
  • SmartTube がYouTubeを置き換えます。広告なし、より良いインターフェース、そしてSponsorBlock が組み込まれています。クリエイターをサポートするためにYouTube Premiumは引き続き支払っていますが、公式アプリよりもSmartTubeを断然好んでいます。
  • Wholphin は、UIとカスタマイズオプションの点で、私が好むJellyfin クライアントです。Moonfin も良い代替案です。
  • Button Mapper はリモコンを再マッピングし、YouTubeボタンを押すとSmartTubeが開くようにします。

[画像: 私のProjectivy Launcherホーム画面、アプリだけが表示されている] その後: Projectivy Launcher

[画像: SmartTubeのホーム画面] SmartTube、ぼかし処理あり

これを2台のChromecast with Google TVとHisense TVで設定しましたが、ほとんどのAndroid TVデバイスで動作するはずです。

ヒント: その他のアプリ内の広告や、テレビ自体のトラッキングをブロックするには、ネットワークでPi-holeを実行することも検討してください。これは、テレビだけでなく、家中のすべてのデバイスで、DNSレベルで広告とトラッキングドメインをブロックします。

ストックランチャーを維持したい場合は、Pi-hole(またはルーターのDNS)で androidtvwatsonfe-pa.googleapis.com をブロックすると、そのバナーが非表示になるという報告があります。効果が現れるまで、デバイスを再起動するか、ランチャーのキャッシュをクリアする必要があるかもしれません。

Pi-holeがない場合、ADBが接続された後(下記参照)、テレビのプライベートDNSをAdGuard DNSのような広告ブロックリゾルバに向けます。

adb -s $D shell settings put global private_dns_mode hostname
adb -s $D shell settings put global private_dns_specifier dns.adguard-dns.com

チュートリアル

ヒント: この記事をAIエージェントに渡し、セットアップのガイドをしてもらいましょう。AIはADBコマンドをデバイスに合わせて調整し、実行してくれるので、承認する前に各コマンドを確認してください。

ここでのすべてはADBで行われるため、まずは接続から始めます。

ADBの接続

設定 → システム → デバイス情報 → Android TV OSビルドを7回クリックして開発者向けオプションを有効にします。次に、開発者向けオプションでワイヤレスデバッグを有効にし、「ペアリングコードでデバイスをペア設定」を選択します。

adb pair <ip>:<pairing-port> <code>
adb mdns services # 接続ポートを検索
adb connect <ip>:<connect-port>

D=<ip>:<connect-port> # 以下のコマンドで使用

ワイヤレスデバッグはWi-Fi経由でのみ機能します。デバイスにそれがない場合(私のHisense TVのように)、代わりにUSBデバッグを有効にし、adb connect <ip>:5555で接続してください。

アプリのインストール

Projectivy、Wholphin、Button MapperはPlayストアにあります。ADBはPlayストアから直接インストールできませんが、テレビ上の各アプリのページを開くことはできるので、インストールをクリックするだけです。

for p in com.spocky.projengmenu com.github.damontecres.wholphin flar2.homebutton; do
  adb -s $D shell am start -a android.intent.action.VIEW -d "market://details?id=$p"
  read -p "インストールが完了したらEnterキーを押してください..."
done

SmartTubeはPlayストアにはないので、GitHubから最新のAPKをダウンロードしてインストールします。

curl -L -o smarttube.apk "$(curl -s https://api.github.com/repos/yuliskov/SmartTube/releases/latest \
  | grep -o '"browser_download_url": *"[^"']*_universal\.apk"' | cut -d'"' -f4)"
adb -s $D install smarttube.apk

テレビではDownloaderを使ってサイドロードすることもできます。

ランチャーの置き換え

Projectivyには「現在のランチャーをオーバーライド」オプションがありますが、ストックのホーム画面がその前に一瞬表示されます。代わりに、Projectivyをホームアプリとして設定し、ストックランチャーとその復元パッケージを無効にします。

adb -s $D shell cmd package set-home-activity com.spocky.projengmenu/.ui.home.MainActivity
adb -s $D shell pm disable-user --user 0 com.google.android.apps.tv.launcherx
adb -s $D shell pm disable-user --user 0 com.google.android.tungsten.setupwraith

ホームアプリを先に設定することが重要です。デバイスによっては、setupwraithを無効にすると保存されたWi-Fiネットワークも忘れられることがあるため、再接続できるようにリモコンを手元に置いておいてください。

テレビでは、ストックランチャーがHDMI入力の切り替えも担当している場合があるため、その後も機能するか確認してください。

YouTubeの置き換え

SmartTubeがセットアップされたら、公式アプリをアンインストールします。

adb -s $D uninstall com.google.android.youtube.tv

ファームウェアに組み込まれている場合(DELETE_FAILED_INTERNAL_ERROR)、代わりに adb -s $D shell pm uninstall --user 0 com.google.android.youtube.tv を使用してください。

リモコンのマッピング

Button MapperとProjectivyの両方でアクセシビリティサービスを有効にする必要があります。これはリスト全体を置き換えるため、まず adb -s $D shell settings get secure enabled_accessibility_services で現在の設定を確認し、使用している他のサービスがあれば保持してください。

adb -s $D shell settings put secure enabled_accessibility_services \
  'flar2.homebutton/a.i:com.spocky.projengmenu/com.spocky.projengmenu.services.ProjectivyAccessibilityService'
adb -s $D shell settings put secure accessibility_enabled 1

Androidは時々アクセシビリティサービスをオフにします。Button MapperにWRITE_SECURE_SETTINGS権限を付与すると、自身で再度オンにできるようになり、バッテリー最適化から除外することで応答性を保ちます。

adb -s $D shell pm grant flar2.homebutton android.permission.WRITE_SECURE_SETTINGS
adb -s $D shell dumpsys deviceidle whitelist +flar2.homebutton

その後、Button MapperでYouTubeボタンをSmartTubeにマッピングします。

クリーンアップ

アニメーションを高速化して、よりスムーズにすることもできます。

for k in window_animation_scale transition_animation_scale animator_duration_scale; do
  adb -s $D shell settings put global $k 0.75
done

そして、おそらく使用しないであろうGoogleアプリやサービスの一部を無効にします。使用するものはスキップし、デバイスにないパッケージのエラーは無視してください。

for p in com.google.android.videos \
         com.google.android.play.games \
         com.google.android.youtube.tvmusic \
         com.google.android.tvrecommendations \
         com.google.android.feedback \
         com.google.android.partnersetup; do
  adb -s $D shell pm disable-user --user 0 $p
done

追加のデブロートについては、cleanyourtv には、メーカーアプリ、広告サービス、テレメトリをカバーする多くのテレビ向けのリストがあります。

すべては adb shell pm enable <package>(またはYouTubeの場合は adb shell cmd package install-existing <package>)で元に戻すことができます。終了したら、ワイヤレスデバッグ(またはUSBデバッグ)をオフにしてください。開いたADBポートは、ネットワーク上の他のデバイスが接続できる可能性があるためです。

テレビでは、画質設定も確認してください。「フィルムメーカーモード」(または「映画」や「シネマ」のようなニュートラルなモード)に切り替え、モーションスムージング、ノイズリダクション、ダイナミックコントラストなどのほとんどの画像処理をオフにします。部屋や好みに合わせて調整する必要があるかもしれません。

これで完了です。バナーなし、広告なし、そして実際に使用するアプリを開くリモコンが手に入ります。

更新 2026-10-20: Hacker Newsでのコメントありがとうございます!いくつか変更を加えました。

  • ストックランチャーのバナーを含む、ネットワーク全体の広告をブロックする方法として、Pi-holeとプライベートDNSを追加しました。
  • 追加のデブロートのためにcleanyourtvをリンクしました。
  • ランチャーの代替としてFLauncherとATV Launcher Pro、Jellyfinクライアントの代替としてMoonfinを追加しました。