このページでは、Cuttlefish を使用して AOSP ビルドを起動する方法について説明します。
KVM の対応状況を確認する
Cuttlefish は仮想デバイスのため、ホストマシンで利用可能な仮想化に依存しています。
ホストマシンのターミナルで、カーネルベースの仮想マシン(KVM)による仮想化に対応していることを確認します。
grep -c -w "vmx\|svm" /proc/cpuinfoこのコマンドはゼロ以外の値を返します。
ARM64 マシンで実行する場合は、/dev/kvm を確認するのが最も直接的な方法です。
find /dev -name kvmCuttlefish を起動する
- ターミナル ウィンドウで、ホストの Debian パッケージのダウンロード、ビルド、インストールを行います。 - sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl- git clone https://github.com/google/android-cuttlefish- cd android-cuttlefish- tools/buildutils/build_packages.sh- sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f- sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f- sudo usermod -aG kvm,cvdnetwork,render $USER- sudo reboot- 再起動すると、その他のカーネル モジュールのインストールがトリガーされ、 - udevのルールが適用されます。
- Cuttlefish は Android Open-Source Platform(AOSP)の一部です。仮想デバイスのビルドは Android Continuous Integration のサイトにあります。すべての Android ビルドのインデックスは、Android Continuous Integration のサイト(http://ci.android.com/)で確認できます。 
- ブランチ名を入力します。デフォルトの - aosp-mainブランチを使用するか、- aosp-android13-gsiなどの Generic System Image(GSI)ブランチを使用します。
- aosp_cf_x86_64_phone ビルド ターゲットに移動し、最新ビルドの userdebug をクリックします。 
- userdebug の下の緑色のボックスをクリックし、このビルドを選択します。[Details] パネルに、このビルドに固有の詳細情報が表示されます。このパネルで、[Artifacts] をクリックすると、このビルドにアタッチされているすべてのアーティファクトのリストが表示されます。 
- [Artifacts] パネルで、Cuttlefish のアーティファクトをダウンロードします。 - x86_64 の場合は - aosp_cf_x86_64_phone-img-xxxxxx.zipアーティファクトを、ARM64 の場合は- aosp_cf_arm64_only_phone-xxxxxx.zipアーティファクトをクリックします。それぞれに、デバイス イメージが含まれています。ファイル名の「xxxxxx」には、このデバイスのビルド ID が入ります。
- パネルを下にスクロールし、 - cvd-host_package.tar.gzをダウンロードします。ホスト パッケージは、常にイメージと同じビルドからダウンロードしてください。
 
- ローカル システムで、コンテナ フォルダを作成してパッケージを解凍します。 - x86_64 アーキテクチャ: - mkdir cf- cd cf- tar -xvf /path/to/cvd-host_package.tar.gz- unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
- ARM64 アーキテクチャ: - mkdir cf- cd cf- tar -xvf /path/to/cvd-host_package.tar.gz- unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip
 
- Cuttlefish を起動します。 - HOME=$PWD ./bin/launch_cvd --daemon
Cuttlefish が adb を介して公開されることを確認する
実機と同様、Cuttlefish は Android Debug Bridge(adb)を介して公開されます。
Cuttlefish を起動した同じフォルダで、以下のコマンドを実行すると、ホストマシンで adb を介して利用可能なすべての Android デバイスのリストが表示されます。
./bin/adb devicesウェブで仮想デバイスを確認して操作する
デフォルトでは、Cuttlefish は --start_webrtc で起動し、ホストマシンのポート 8443 で WebView が有効になります。
仮想デバイスを確認して操作するには、ウェブブラウザで https://localhost:8443 にアクセスします。
詳しくは、Cuttlefish: WebRTC ストリーミングをご覧ください。
Cuttlefish を停止する
デバイスの起動に使用した同じディレクトリ内で仮想デバイスを停止します。
HOME=$PWD ./bin/stop_cvd