開発環境

Chromebook で Android アプリを実行できることは素晴らしいことです。これにより、ユーザーは膨大な Android エコシステムのサービスを利用できるようになるほか、Android デベロッパーは ChromeOS ユーザーにリーチする機会が得られます。

ChromeOS には、Android デベロッパーに Chromebook にアプリをデプロイしてテストするためのツールが用意されています。ユーザー エクスペリエンスを向上させるために、さまざまなフォーム ファクタでアプリを検証します。

Android アプリを ChromeOS から直接デプロイする(Chromebook で Android Studio を使用する)場合でも、別のデバイスからデプロイする場合でも、Android Debug Bridge を使用してアプリをデプロイし、Chromebook のさまざまな操作をデバッグできます。詳細については、次の手順をご覧ください。

ADB デバッグの有効化

これまでは、Chromebook で ADB を使用できるのはデベロッパー モードのときのみでした。Chrome 81 以降、シェルを必要としないデベロッパーは、デバイスをデベロッパー モードから切り離して、開発したアプリを ChromeOS で直接デプロイできます。手順は次のとおりです。

  1. まだ行っていない場合は、[設定] に移動して Linux を有効にします

  2. Linux が利用可能になったら、Linux の設定を開きます。

  3. [Android アプリを開発する] オプションを開きます。

  4. [ADB デバッグを有効にする] を切り替えます。Chromebook が再起動します。

  5. Chromebook が再起動すると、アプリストアからダウンロードされていないアプリがデバイス上の可能性があることを示すメッセージが表示されます。

  6. これで、ADB を使用して、Chromebook へのアプリのデプロイ、デバッグ コマンドを実行し、デバイスを直接操作できるようになりました。

Android アプリがさまざまな Chromebook デバイスや利用可能なフォーム ファクタで適切に動作することを確認するには、次のデバイスでアプリをテストすることをおすすめします。

  • ARM ベースの Chromebook
  • x86 ベースの Chromebook
  • タッチスクリーン付きのデバイスとそうでないデバイス
  • ノートパソコンにもタブレットにもなるコンバーチブル型デバイス
  • タッチペン付きのデバイス

ChromeOS から導入

ADB デバッグを有効にすると、Android Studio を使用して Android アプリを ChromeOS デバイスに直接読み込むことができます。Android Package Kit(APK)をお持ちの場合は、ターミナルを使用して読み込むことができます。これらのオプションについては、次のセクションで説明します。

Android Studio でデプロイする

このガイドの説明に従って Android Studio と ADB をセットアップしたら、Android Studio から直接 Chromebook の Android コンテナにアプリを push できます。Chromebook がデバイス メニューにオプションとして表示されます。

Chromebook にアプリをプッシュすると、ADB 承認ダイアログが表示されます。承認すると、アプリケーションが新しいウィンドウで起動します。

これで、アプリを Chromebook にデプロイし、テストとデバッグを行うことができます。

ターミナルを使用してデプロイする

ターミナルを使用して Chromebook にアプリをデプロイする手順は次のとおりです。

  1. 必要に応じて、次のコマンドを使用して ADB をインストールします。

    sudo apt install adb
    
  2. 次のコマンドを使用してデバイスに接続します。

    adb connect arc
    
  3. USB デバッグの承認ダイアログが表示されます。権限を付与します。

  4. 次のコマンドを使用して、ターミナルからアプリをインストールします。

    adb install [path to your APK]
    

別のデバイスからデプロイする

上記の方法を使用できず、別のデバイスからアプリをプッシュする必要がある場合は、USB 接続またはネットワーク アドレスを使用してデバイスを ADB に接続できます。

ADB へのネットワーク経由での接続

ネットワーク経由で ADB に接続する手順は、次のとおりです。

  1. ADB デバッグが有効になっていることを確認します。

  2. Chromebook の IP アドレスを取得する手順は次のとおりです。

    • 画面の右下にある時計をクリックします。
    • 歯車アイコンをクリックします。
    • 接続しているネットワーク タイプ(Wi-Fi やモバイルデータなど)をクリックし、次にネットワークの名前をクリックします。
    • IP アドレスをメモしておきます。

次のようにして、Chromebook に接続します。

  1. 開発マシンに戻り、ADB を使用して IP アドレスを使用して Chromebook に接続します。

    adb connect <ip_address>
    
  2. Chromebook でデバッガを許可するように求められたら、[許可] をクリックします。これで ADB セッションが確立されます。

ネットワーク経由の ADB デバッグのトラブルシューティング

すべてが正しく接続されていても、ADB デバイスがオフラインと表示されることがあります。この場合は、以下の手順でトラブルシューティングを行います。

  1. [開発者向けオプション] で [ADB デバッグ] を無効にします。
  2. ターミナル ウィンドウで、adb kill-server を実行します。
  3. [ADB デバッグ] オプションを再度有効にします。
  4. ターミナル ウィンドウで、adb connect を実行します。
  5. デバッグを許可するように求められたら、[許可] をクリックします。ADB セッションが確立されます。

ADB への USB 経由での接続

別のデバイスから Chromebook に APK をプッシュするには、ChromeOS をデベロッパー モードで起動して、Chromebook を設定してホストマシンからアプリをプッシュできるようにする必要があります。

デベロッパー モードに切り替える手順は次のとおりです。

  1. ADB デバッグを有効にします
  2. デバイスが USB デバッグをサポートしているかどうかを確認します。
  3. Ctrl+Alt+T キーを押して ChromeOS ターミナルを起動します。
  4. shell」と入力して bash コマンドシェルを起動します。

    crosh> shell
    chronos@localhost / $
    
  5. 次のコマンドを入力してデバイスをセットアップします。

    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
    
  6. 再起動後、ターミナルを再度開き、次のコマンドを実行して Chromebook の USB ポートで ADB を有効にします。

    $ sudo ectool usbpd <port number> dr_swap
    

USB ケーブルを取り外して再接続するたびに、このコマンドを実行します。Chromebook がアップストリーム フェーシング ポート(UFP)モードであることを確認するには、ectool usbpd <port number> を実行します。

ADB セッションを確立する手順は次のとおりです。

  1. デバイスのサポートされているポートに USB ケーブルを接続します。
  2. ホストマシンで Android SDK Platform Tools から adb devices を実行して、Chromebook が ADB 対応デバイスとしてリストされていることを確認します。
  3. Chromebook でデバッガを許可するように求められたら、[許可] をクリックします。これで ADB セッションが確立されます。