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.com の aosp_cf_x86_64_phone
)の場合、仮想マシンツールは cvd-host_package.tar.gz
でパックされており、イメージは aosp_cf_x86_64_phone-img-*.zip
にあります。Acloud バイナリは ATS に組み込まれており、Cuttlefish のすべてのバージョンと互換性があります。Acloud バイナリのデフォルトのダウンロード URL を変更する必要があるのは、デバッグ目的の場合のみです。
図 3. 仮想デバイスのテストリソース
テスト実行の表示
デバイスログ(kernel.log
、host_log.txt
、launcher.log
など)が出力ファイル フォルダに収集されます。[View Output Files] をクリックして表示します。
図 4. テスト実行の結果