開発環境

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

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

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

ADB デバッグの有効化

これまでは、Chromebook で ADB を使用できるのはデベロッパー モードのときのみでした。Chrome 81 以降では、デベロッパーはデバイスをデベロッパー モードを終了したまま、開発したアプリを ChromeOS で直接デプロイできます。その方法は次のとおりです。

  1. Chromebook がデベロッパー モードになっていないことを確認します。
  2. まだ有効にしていない場合は、[設定] に移動して Linux をオンにします。

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

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

  5. [ADB デバッグを有効にする] をオンにします。Chromebook が再起動します。

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

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

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

  • 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 を Upstream Facing Port(UFP)モードにするには、ectool usbpd <port number> を実行します。

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

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