Cuttlefish를 사용하여 AOSP 빌드 실행

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 Cuttlefish 를 사용하여 AOSP 빌드를 시작하는 방법을 설명합니다.

KVM 가용성 확인

Cuttlefish는 가상 장치이며 호스트 시스템에서 사용 가능한 가상화에 따라 달라집니다.

호스트 머신의 터미널에서 커널 기반 가상 머신(KVM)을 사용한 가상화를 사용할 수 있는지 확인합니다.

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

이 명령은 0이 아닌 값을 반환해야 합니다.

ARM 머신에서 실행할 때 가장 직접적인 방법은 /dev/kvm 을 확인하는 것입니다.

find /dev -name kvm

오징어 발사

  1. 터미널 창에서 호스트 Debian 패키지를 다운로드, 빌드 및 설치합니다.

    sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl
    git clone https://github.com/google/android-cuttlefish
    cd android-cuttlefish
    for dir in base frontend; do
      cd $dir
      debuild -i -us -uc -b -d
      cd ..
    done
    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 빌드의 색인을 찾으려면 http://ci.android.com/ 의 Android 지속적 통합 사이트로 이동하세요.

  3. 지점 이름을 입력합니다. 기본 aosp-master 브랜치를 사용하거나 aosp-android13-gsi 와 같은 일반 시스템 이미지(GSI) 브랜치 를 사용하세요.

  4. aosp_cf_x86_64_phone 빌드 대상으로 이동하고 최신 빌드에 대한 userdebug 를 클릭하십시오.

  5. 이 빌드를 선택하려면 userdebug 아래의 녹색 상자를 클릭하십시오. 이 빌드에 대한 자세한 정보가 포함된 세부 정보 패널이 나타납니다. 이 패널에서 Artifacts 를 클릭하면 이 빌드에 연결된 모든 아티팩트 목록을 볼 수 있습니다.

  6. Artifacts 패널에서 Cuttlefish용 아티팩트를 다운로드합니다.

    1. 기기 이미지가 포함된 aosp_cf_x86_64_phone-img-xxxxxx.zip 아티팩트를 클릭합니다. 파일 이름에서 "xxxxxx"는 이 장치의 빌드 ID입니다.

    2. 패널에서 아래로 스크롤하여 cvd-host_package.tar.gz 를 다운로드합니다. 항상 이미지와 동일한 빌드에서 호스트 패키지를 다운로드하십시오.

  7. 로컬 시스템에서 컨테이너 폴더를 만들고 패키지를 추출합니다.

    mkdir cf
    cd cf
    tar -xvf /path/to/cvd-host_package.tar.gz
    unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
    
  8. 오징어 발사:

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

오징어가 adb를 통해 보이는지 확인

물리적 기기와 유사하게 Cuttlefish는 Android 디버그 브리지(adb) 를 통해 표시됩니다.

Cuttlefish를 시작한 동일한 폴더에서 다음 명령을 실행하여 호스트 시스템에서 adb를 통해 사용 가능한 모든 Android 장치 목록을 확인합니다.

./bin/adb devices

웹에서 가상 장치 보기 및 상호 작용

기본적으로 Cuttlefish는 호스트 시스템의 포트 8443을 통해 웹 보기를 활성화하는 --start_webrtc 로 시작됩니다.

가상 장치를 보고 상호 작용하려면 웹 브라우저에서 https://localhost:8443 으로 이동합니다.

자세한 내용은 Cuttlefish: WebRTC 스트리밍 을 참조하십시오.

오징어 중지

장치를 시작하는 데 사용한 것과 동일한 디렉터리 내에서 가상 장치를 중지합니다.

HOME=$PWD ./bin/stop_cvd