Chromecast with GoogleTVでデフォルトランチャーを置き換える方法

Chromecast with GoogleTVでは、基本的にホーム画面の変更ができないようになっています。昔はAndroidTVでも通常のAndroidと同じように変更できて便利だったんですけど、AndroidTV 9.0あたりから変更できなくなったんですよね…

今回はそれを強制的に置き換える方法を紹介します。とはいってもADBコマンドでデフォルトランチャーを無効化するだけなんですが。

目次

必要なもの

・ADBコマンドを使用できるPC(ADB環境はこの記事で導入できます)

・任意のホーム(ランチャー)アプリ

※AndroidTV端末でADBコマンドを使用するにはLAN経由で接続する必要があります。そのため、同じネットワークに接続しておいてください。

スポンサーリンク

手順

任意のホームアプリをインストール

通常のAndroidで使用可能なものであれば置き換え自体はできます。が、リモコンで操作するならTV向けがおすすめです。私は「ATV Launcher Pro」に置き換えしました。これは有料版ですが、無料版もあります。GooglePlayから普通にインストール可能です。

USBデバッグを有効化

まずは「開発者向けオプション」を有効化します。これは通常のAndroidと一緒。

「設定」→「システム」→「Android TV の OS ビルド」の上で数回決定ボタンを押します。

表示された「開発者向けオプション」の中から「USBデバッグ」を有効化。

ChromecastのIPアドレスを調べる

設定から確認できます。

「設定」→「ネットワークとインターネット」→接続しているWi-Fi or 有線

PCとLAN経由でADB接続

Windows10であれば「PowerShell」を起動し、以下のコマンドを入力します。後半のIPアドレスは、先程確認したものに置き換えます。これでLAN経由でのADBが可能になります。

adb connect 192.168.x.x

この時、Chromecastの画面にこのような表示が出ますので、「許可」を選択してください。

「missing port in specification」というエラーが出る場合、ポートを指定してやることで実行できるようになるはずです。コマンドは以下です。IPアドレスは同じ用に置き換えてください。

「adb tcpip 5555」→「adb connect 192.168.x.x:5555」

ADBコマンドで無効化

次に以下のコマンド入力します。Chromecast with Google TVの場合、2つのアプリを無効化する必要があります。※ランチャーだけ無効化するとホームボタンを押した際にクラッシュしてしまいます。

adb shell pm disable-user --user 0 com.google.android.apps.tv.launcherx

adb shell pm disable-user --user 0 com.google.android.tungsten.setupwraith

ホームボタンを押す

これでデフォルトランチャーの無効化が完了しました。ホームボタンを押すと、先程インストールしておいたランチャーが起動するはずです。

ATV Launcherは結構カスタマイズ項目が多くて、アイコンやアプリ名、並び順にスクロール方向などもカスタマイズできます。

キャスト機能が動作しない場合

この作業の影響かわかりませんが、キャスト機能が動作しなくなりました。

対処法として、設定から「Chromecast built-in」を一度アンインストールすれば動作するようになりました。
アンインストール後は勝手に再インストールされます。

もとに戻す場合

もとへ戻す場合、先程無効化したアプリを有効化するだけでOKです。

adb shell pm enable com.google.android.apps.tv.launcherx

adb shell pm enable com.google.android.tungsten.setupwraith

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (25件)

  • スマホと繋ぎADB OTGを使ってpm disable-user以下を打ち込んで無効化出来ました
    ありがとうございました

  • すみません、この手順で成功したのですが、設定アプリが見当たらくて、設定アプリが開けないのですが、何か対処法はあるのでしょうか?

    • ATV Launcherであれば、適当なアプリを長押しして、「Android Settings」を選択すれば開きます

  • こちらの記事を参考にさせて頂き、無事ランチャーを入れ替えることができました。
    しかしyoutubeにログインできなくなってしまいました。
    ログインのボタンが押せない状況です。

    何か手立てはありますでしょうか?

  • 出来るには出来たのですが今度はランチャーのリモコン操作が全く何度もききません。

    • 代替となるランチャーは導入済みですか?ランチャーが導入していなければ当然ホームボタンは無反応となります。また、ランチャーを導入している場合でも、リモコン操作に非対応であれば当然反応しません。
      いずれにしても、情報が少ないのでなんとも言えないです。

  • Exception occurred while executing:
    java.lang.IllegalArgumentException: Unknown package: ?user
    at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:21396)
    at com.android.server.pm.PackageManagerService.setApplicationEnabledSetting(PackageManagerService.java:21340)
    at com.android.server.pm.PackageManagerShellCommand.runSetEnabledSetting(PackageManagerShellCommand.java:1826)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:214)
    at android.os.ShellCommand.exec(ShellCommand.java:104)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21919)
    at android.os.Binder.shellCommand(Binder.java:881)
    at android.os.Binder.onTransact(Binder.java:765)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4892)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4007)
    at android.os.Binder.execTransactInternal(Binder.java:1021)
    at android.os.Binder.execTransact(Binder.java:994)
    PS C:\Users\fsrxm> adb shell pm disable-user ?user 0 com.google.android.tungsten.setupwraith
    と出ました。

  • あとOSのカーネルバージョンは「4.9.180」、OSビルドは「QTS1.220504.008.8726984」になります。

  • すいません、自分も同じようにPowerShellにコマンドを打ち込みADVコマンド無効化までいったのですがadb shell pm disable-user –user 0 com.google.android.apps.tv.launcherx
    adb shell pm disable-user –user 0 com.google.android.tungsten.setupwraith
    のとこで‘‘ adb shell pm disable-user ?user 0 com.google.android.apps.tv.launcherx
    error: device not found‘‘と出て失敗してしまいます。どうすればいいでしょうか?

    • あとOSのカーネルバージョンは「4.9.180」、OSビルドは「QTS1.220504.008.8726984」になります。

    • 返信が遅くなりました。device not foundと表示されている通り、PCとChromecastが接続されていない状態です。再度接続手順を行ったあと、adb devicesで文字列が表示されることを確認してください。

  • 質問失礼いたします。
    我が家のChromecast with GoogleTVで同じように試し、adbコマンドまではうまくいったと思うのですが、ホームボタンを押してデフォルトランチャーが立ち上がってしまいます。

    ちなみに、OSのカーネルバージョンは「4.9.180」、OSビルドは「QTS1.210311.008.7350836」です。

    インストールしたホームランチャーアプリは、記事と同じ「ATV Launcher」の有料版です。

    • 申し訳ないです。記事内のコマンドの表示が一部おかしくなっていてエラーが出るようになっていました。具体的にいうとハイフンが2個連続で入力すべき部分が一つの表示になっていました。

      記事内のコマンドも修正しましたが、同じコマンドをいかにも載せておきますので、再度実行してみてください。

      adb shell pm disable-user –user 0 com.google.android.apps.tv.launcherx
      adb shell pm disable-user –user 0 com.google.android.tungsten.setupwraith

      • できました!ご丁寧にご教示いただき、ありがとうございました。
        ちなみに、Dixim playというアプリをATV Launcher上のアプリアイコンから起動すると、途中までは起動するものの、正しく動作しませんでした。

        ランチャーアプリのアイコンから起動するのと、システムメニュー内のアプリ一覧からアプリを起動するのとで、何か違うのでしょうか?

        • 私もDiXiM Playは使用していますが、特に起動しないということはないですね。ちょっと面倒ですが、再インストールや更新の確認を行ってみてください。

          • Dixim playはお試し版で使用していましたが、ライセンスを購入したら、正しく使用できるようになりました^^; ありがとうございました。

  • すいません、質問いいですか?
    こちらの記事を参考に
    adb connect 192.168.0.5
    とコマンドを打ちましたが
    missing port in specification: tcp:192.168.0.5
    とエラーが出てしまいました。ChromecastのIPアドレスはこれであってます。
    PCの環境:Windows 10(21H1)でChromecastと同じWiFiに接続
         ADB導入済み(15 seconds ADB Installerを使って導入)
    あとは、対処としてPCの再起動、コマンドプロンプトで「adb.exe」を強制終了させたりしましたが、改善しませんでした。

    • 先に「adb tcpip 5555」を実行し、「adb connect “IPアドレス”:5555」というふうに実行してみてください。

      • ありがとうございます!上手くいきました!
        これってADBが使うTCPのポートが5555だから、それを指定して接続してるんですね。
        勉強になりました。

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次