Android Test Station の仮想デバイス

Android Test Station は、物理 Android デバイスなしでテストを実行できる Cuttlefish 仮想デバイスをサポートしています。Cuttlefish は、ハードウェアに依存しない機能をテストするのに適しています。仮想デバイスを使用する前に、ユーザーガイドに沿って Android Test Station をインストールしてください。

Cuttlefish の依存関係のインストール

必要なカーネル モジュールが読み込まれているかどうかを確認するには、次のコマンドを実行します。

sudo modprobe -a kvm tun vhost_net vhost_vsock

仮想デバイスで Android Test Station を開始する

仮想デバイスを有効にするには、次のコマンドを実行します。

mtt start --max_local_virtual_devices N

N は、ATS が同時に割り当てることのできる仮想デバイスの最大数です。デフォルト値は 0 です。

仮想デバイスでテストを実行する

デバイスの選択

ATS のデバイスリストには、実際のシリアル番号ではなく、プレースホルダとして仮想デバイスが表示されます。プレースホルダは HOSTNAME:local-virtual-device-ID の形式で表示されます。状態は [Available] または [Allocated] のいずれかです。[Available] の状態にあるプレースホルダは、仮想デバイスが実行されていないため、テストに割り当てることができることを示します。

仮想デバイスを選択する

図 1. 仮想デバイスの選択

デバイス アクションの追加

1 つ以上のローカルの仮想デバイスを選択すると、関連付けられているデバイス アクションが自動的にリストに追加されます。アクションは、仮想デバイスの作成に必要な TradeFed パラメータとテストリソースで構成されます。

仮想デバイス アクション

図 2. 仮想デバイス用のデバイス アクション

テストリソースの設定

Cuttlefish 仮想デバイスでは、仮想マシンツール、イメージ、Acloud の 3 つのテストリソースが必要です。一般的な Cuttlefish ビルド(たとえば、ci.android.comaosp_cf_x86_64_phone)の場合、仮想マシンツールは cvd-host_package.tar.gz でパックされており、イメージは aosp_cf_x86_64_phone-img-*.zip にあります。Acloud バイナリは ATS に組み込まれており、Cuttlefish のすべてのバージョンと互換性があります。Acloud バイナリのデフォルトのダウンロード URL を変更する必要があるのは、デバッグ目的の場合のみです。

仮想デバイスのテストリソース

図 3. 仮想デバイスのテストリソース

テスト実行の表示

デバイスログ(kernel.loghost_log.txtlauncher.log など)が出力ファイル フォルダに収集されます。[View Output Files] をクリックして表示します。

テスト実行の結果

図 4. テスト実行の結果