見出し画像

【Tips】UbuntuでAndroid AutoのDHU(Desktop Head Unit)をアクセサリモードで動作させる


はじめに

Android Autoは、Androidスマートフォンを車載のカーナビやディスプレイオーディオなどに接続して、スマホのマップアプリや音楽アプリを利用できる機能です。

Android Autoの画面(※Ubuntu上のDHUで表示)

Android Autoの利用には対応する車載器が必要ですが、アプリ開発用に、Android Autoの画面をPCで表示して試せるアプリ「DHU(Desktop Head Unit)」が提供されています。Google公式のドキュメントは以下です。

DHUには「アクセサリモード」と「ADBトンネリング」の2つの動作モードがあります。ADBトンネリングは端末やAndroid Autoアプリを開発者モードにするなどの手間が必要ですが、アクセサリモードはただ端末をPCにつなげば動作する(ことになっている)ので、ただAndroid Autoを試すだけならばアクセサリモードのほうが便利です。

ADBトンネリングはドキュメント通りにやれば動作させられますし、ネット上に解説記事も多くあるのですが、アクセサリモードを動作させるのにはちょっと癖がありました。Macでは素直に動作したのですが、Windowsでは何をやってもダメ(ドキュメントにも動かないかもと書かれていた)、Linux(Ubuntu)ではちょっとした設定が必要でした。

そこで本記事では、Ubuntu(22.04.4 LTS)を利用して、DHUをアクセサリモードで動作させる方法をまとめていきます。

DHUのインストールと設定

DHUのインストール方法は公式ドキュメントに解説があるので、その手順に従います。

【補足1】
ドキュメントにはdesktop-head-unitファイルに実行権限をつける手順がありましたが、自分の環境では最初から実行権限がついていました。
【補足2】
GLIBCのバージョン2.32以上が必要と記述されていますが、Ubuntu 22.04.4 LTSでは特に何もしなくてもこの条件を満たしていました。

そのままでは動かないので追加設定

DHUをインストール後、スマホをPCにつないで、以下コマンドを実行すればDHUでAndroid Autoが表示されることになっているのですが、どうもうまくスマホを認識しません。

./desktop-head-unit --usb

そこで追加設定を行います。管理者権限で「/lib/udev/rules.d/50-udev-default.rules」ファイルを編集します。viを使うなら以下コマンドになります。それ以外のエディタを使う場合もsudoをつけて管理者権限で実行します。

sudo vi /lib/udev/rules.d/50-udev-default.rules

ファイル内の以下記述を変更します。変更箇所はMODE(0664→0666)です。

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
↓
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

変更を保存後、PCを再起動して、もう一度DHUを起動すれば、今度はスマホを認識して、Android Autoの画面が表示されます。

補足

この方法は、DHUがUSB接続に利用しているライブラリーlibusbを調べていてヒットした以下Webページの記述を参考にしました。「この設定はOSのソフトウェアの更新によって変更前の状態に戻る場合があります」とのことなので、戻ってしまったら再度ファイルを変更してください。

この記事が気に入ったらサポートをしてみませんか?