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.launcherxadb 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
コメント
コメント一覧 (25件)
g79jo9
9asmtq
[…] Chromecast with GoogleTVでデフォルトランチャーを置き換える方法 […]
スマホと繋ぎ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だから、それを指定して接続してるんですね。
勉強になりました。