瞭解詳情

本頁面說明如何使用 Cuttlefish 啟動 Android 開放原始碼計畫版本。

確認 KVM 可用性

Cuttlefish 是虛擬裝置,取決於主機上是否可使用虛擬化功能。

在主機電腦的終端機中,確認可使用核心式虛擬機器 (KVM) 的虛擬化功能:

grep -c -w "vmx\|svm" /proc/cpuinfo

這個指令應傳回非零的值。

在 ARM64 機器上執行時,最直接的方法就是檢查 /dev/kvm

find /dev -name kvm

啟動 Cuttlefish

  1. 在終端機視窗中,下載、建構及安裝主機 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 規則。

  2. Cuttlefish 是 Android 開放原始碼平台 (AOSP) 的一部分。您可以在 Android 持續整合網站上找到虛擬裝置的建構項目。如要尋找所有 Android 版本的索引,請前往 Android 持續整合網站 http://ci.android.com/

  3. 輸入分支版本名稱。使用預設的 aosp-main 分支版本,或使用一般系統映像檔 (GSI) 分支版本 (例如 aosp-android13-gsi)。

  4. 前往 aosp_cf_x86_64_phone 建構目標,然後按一下「userdebug」取得最新版本。

  5. 點選「userdebug」下方的綠色方塊,即可選取這個版本。系統隨即會顯示「Details」(詳細資料) 面板,以及該建構作業的更多相關資訊。在這個面板中,按一下「Artifacts」,即可查看與此版本附加的所有成果清單。

  6. 在「構件」面板中,下載 Cuttlefish 的構件。

    1. 按一下 x86_64 的 aosp_cf_x86_64_phone-img-xxxxxx.zip 構件或 ARM64 的 aosp_cf_arm64_only_phone-xxxxxx.zip 構件,其中包含裝置映像檔。檔案名稱中的「xxxxxx」是這部裝置的版本 ID。

    2. 在面板中向下捲動,然後下載 cvd-host_package.tar.gz。請一律從與映像檔相同的版本下載主機套件。

  7. 在本機系統上建立容器資料夾並擷取套件:

    1. 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

    2. 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

  8. 啟動 Cuttlefish:

    HOME=$PWD ./bin/launch_cvd --daemon

確認可透過 ADB 看見 Cuttlefish

與實體裝置類似,則可透過 Android Debug Bridge (ADB) 查看 Cuttlefish。

在您啟動 Cuttlefish 的相同資料夾中,執行下列指令,即可在主機上透過 ADB 查看所有可用的 Android 裝置清單:

./bin/adb devices

在網路上查看虛擬裝置並與其互動

根據預設,Cuttlefish 會透過 --start_webrtc 啟動,在主機上透過通訊埠 8443 啟用 Webview。

如要查看虛擬裝置並與之互動,請在網路瀏覽器中前往 https://localhost:8443

詳情請參閱「Cuttlefish:WebRTC 串流」。

停止 Cuttlefish

在啟動裝置時使用的相同目錄中,停止虛擬裝置:

HOME=$PWD ./bin/stop_cvd