Chromebook で Android アプリを実行できることで、ユーザーは Android エコシステムの膨大なサービスを利用できるようになり、Android デベロッパーは ChromeOS ユーザーにリーチする機会を得られます。
ChromeOS には、Android デベロッパーが Chromebook にアプリをデプロイしてテストするためのツールが用意されています。ユーザー エクスペリエンスを向上させるため、さまざまなフォーム ファクタでアプリを検証してください。
Android アプリを ChromeOS から直接デプロイする(Chromebook で Android Studio を使用する)か別のデバイスからデプロイするかにかかわらず、Android Debug Bridge でアプリをデプロイして Chromebook でさまざまなインタラクションをデバッグできます。
ADB デバッグの有効化
以前は、Chromebook で ADB を使用できるのはデベロッパー モードだけでした。Chrome 81 以降では、デベロッパーはデバイスをデベロッパー モードに移行しなくても、直接 ChromeOS で開発したアプリをデプロイできるようになりました。手順は次のとおりです。
[設定] に移動して、まだ有効にしていない場合は Linux を有効にします。
図 1. ChromeOS の設定で Linux をオンにする。 Linux が使用可能になったら、Linux の設定を開きます。
[Android アプリの開発] オプションを開きます。
[ADB デバッグを有効にする] を切り替えます。Chromebook が再起動します。
図 2. Linux の設定で ADB デバッグを有効にします。 Chromebook が再起動すると、アプリストアからダウンロードされなかったアプリがデバイスに存在する可能性があることを示すメッセージが表示されます。
図 3. ADB を有効にした後の Play ストア以外のアプリに関する通知。 これで、ADB を使用して Chromebook にアプリをデプロイし、デバッグ コマンドを実行して、デバイスを直接操作できるようになりました。
さまざまな Chromebook デバイスと使用可能なフォーム ファクタで Android アプリが適切に動作することを確認するには、以下のデバイスでアプリをテストすることをおすすめします。
- ARM ベースの Chromebook
- x86 ベースの Chromebook
- タッチスクリーン付きのデバイスとそうでないデバイス
- ノートパソコンにもタブレットにもなるコンバーチブル デバイス
- タッチペン付きのデバイス
ChromeOS からデプロイする
ADB デバッグを有効にしたら、Android Studio を使用して Android アプリを ChromeOS デバイスに直接読み込むことができます。Android パッケージ キット(APK)がある場合は、ターミナルを使用して読み込むことができます。
Android Studio でデプロイする
Android Studio と ADB を設定したら、Android Studio から直接 Chromebook の Android コンテナにアプリをプッシュできます。デバイス メニューに Chromebook がオプションとして表示されます。
アプリを Chromebook にプッシュすると、ADB 承認ダイアログが表示されます。承認すると、アプリが新しいウィンドウで起動します。
これで、Chromebook にアプリをデプロイして、テストとデバッグを行えるようになります。
ターミナルでデプロイする
ターミナルを使用して Chromebook にアプリをデプロイする手順は次のとおりです。
必要に応じて、次のコマンドを使用して ADB をインストールします。
sudo apt install adb次のコマンドを使用してデバイスに接続します。
adb connect arcUSB デバッグの承認を求めるダイアログが表示されます。承認を付与します。
図 6. USB デバッグの承認ダイアログ。 次のコマンドを使用して、ターミナルからアプリをインストールします。
adb install [path to your APK]
別のデバイスからデプロイする
上記の方法を使用できず、別のデバイスからアプリをプッシュする必要がある場合は、USB 接続またはネットワーク アドレスを使用してデバイスを ADB に接続できます。
ADB へのネットワーク経由での接続
ADB にネットワーク経由で接続する手順は次のとおりです。
ADB デバッグが有効になっていることを確認します。
次の手順で Chromebook の IP アドレスを取得します。
- 画面の右下にある時計をクリックします。
- 歯車アイコンをクリックします。
- 接続しているネットワークの種類(Wi-Fi やモバイルデータなど)をクリックし、ネットワークの名前をクリックします。
- IP アドレスをメモします。
次のようにして、Chromebook に接続します。
開発用マシンに戻り、ADB で Chromebook の IP アドレスに接続します。
adb connect <ip_address>Chromebook で、デバッガを許可するかどうかを確認するメッセージが表示されたら、[許可] をクリックします。これで ADB セッションが確立されます。
ネットワーク経由の ADB デバッグのトラブルシューティング
すべてが正しく接続されているにもかかわらず、ADB デバイスがオフラインと表示されることがあります。この場合は、以下の手順でトラブルシューティングを行います。
- [開発者向けオプション] で [ADB デバッグ] を無効にします。
- ターミナル ウィンドウで、
adb kill-serverを実行します。 - [ADB デバッグ] オプションを再度有効にします。
- ターミナル ウィンドウで、
adb connectを実行します。 - デバッグを許可するかどうかを確認するメッセージが表示されたら、[許可] をクリックします。これで ADB セッションが確立されます。
ADB への USB 経由での接続
別のデバイスから Chromebook に APK をプッシュするには、Chromebook を構成してホストマシンからアプリをプッシュできるように、ChromeOS をデベロッパー モードで起動する必要があります。
デベロッパー モードに移行する手順は次のとおりです。
- [ADB デバッグを有効にする] をオンにします。
- デバイスが USB デバッグをサポートしているかどうかを確認します。
Control+Alt+Tキーを押して ChromeOS ターミナルを起動します。「
shell」と入力して bash コマンドシェルを起動します。crosh> shell chronos@localhost / $次のコマンドを入力してデバイスをセットアップします。
$ sudo crossystem dev_enable_udc=1 $ sudo reboot再起動後、ターミナルを再度開き、次のコマンドを実行して Chromebook の USB ポートで ADB を有効にします。
$ sudo ectool usbpd <port number> dr_swap
USB ケーブルを取り外して再接続するたびに、このコマンドを実行します。Chromebook がアップストリーム フェイシング ポート(UFP)モードであることを確認するには、ectool usbpd <port number> を実行します。
ADB セッションを確立する手順は次のとおりです。
- USB ケーブルをデバイスのサポートされているポートに接続します。
- ホストマシンで Android SDK プラットフォーム ツールの
adb devicesを実行し、Chromebook が ADB 対応デバイスの一覧に表示されることを確認します。 - Chromebook で、デバッガを許可するかどうかを確認するメッセージが表示されたら、[許可] をクリックします。これで ADB セッションが確立されます。