開発環境を準備する

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 を有効にします

    ChromeOS の設定で Linux をオンにする。
    図 1. ChromeOS の設定で Linux をオンにする。
  2. Linux が使用可能になったら、Linux の設定を開きます。

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

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

    Linux の設定で ADB デバッグを有効にする。
    図 2. Linux の設定で ADB デバッグを有効にします。
  5. Chromebook が再起動すると、アプリストアからダウンロードされなかったアプリがデバイスに存在する可能性があることを示すメッセージが表示されます。

    ADB を有効にした後の Play ストア以外のアプリに関する通知。
    図 3. ADB を有効にした後の Play ストア以外のアプリに関する通知。
  6. これで、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 がオプションとして表示されます。

Android Studio のデバイス メニューに Chromebook が表示される。
図 4. Android Studio のデバイス メニューに Chromebook が表示されます。

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

ADB を承認し、Android Studio からアプリを実行します。
図 5. ADB の承認と Android Studio からのアプリの実行。

これで、Chromebook にアプリをデプロイして、テストとデバッグを行えるようになります。

ターミナルでデプロイする

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

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

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

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

    USB デバッグの承認ダイアログ。
    図 6. USB デバッグの承認ダイアログ。
  4. 次のコマンドを使用して、ターミナルからアプリをインストールします。

    adb install [path to your APK]
    
Chromebook に接続し、ターミナルから APK をインストールする。
図 7. Chromebook に接続し、ターミナルから APK をインストールします。

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

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

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

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

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

  2. 次の手順で Chromebook の IP アドレスを取得します。

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

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

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

    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 をプッシュするには、Chromebook を構成してホストマシンからアプリをプッシュできるように、ChromeOS をデベロッパー モードで起動する必要があります。

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

  1. [ADB デバッグを有効にする] をオンにします。
  2. デバイスが USB デバッグをサポートしているかどうかを確認します。
  3. Control+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 プラットフォーム ツールの adb devices を実行し、Chromebook が ADB 対応デバイスの一覧に表示されることを確認します。
  3. Chromebook で、デバッガを許可するかどうかを確認するメッセージが表示されたら、[許可] をクリックします。これで ADB セッションが確立されます。