이 페이지에서는 Cuttlefish를 사용하여 AOSP 빌드를 실행하는 방법을 설명합니다.
KVM 가용성 확인
Cuttlefish는 가상 기기이며 호스트 머신에서 사용할 수 있는 가상화에 종속됩니다.
호스트 머신의 터미널에서 커널 기반 가상 머신(KVM)으로 가상화를 사용할 수 있는지 확인합니다.
grep -c -w "vmx\|svm" /proc/cpuinfo
이 명령어는 0이 아닌 값을 반환해야 합니다.
ARM 머신에서 실행하는 경우 가장 쉬운 방법은 /dev/kvm
을 확인하는 것입니다.
find /dev -name kvm
Cuttlefish 실행
터미널 창에서 호스트 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
규칙이 적용됩니다.Cuttlefish는 Android 오픈소스 플랫폼(AOSP)의 일부입니다. 가상 기기의 빌드는 Android 지속적 통합 사이트에서 확인할 수 있습니다. 모든 Android 빌드의 색인을 찾으려면 Android 지속적 통합 사이트(http://ci.android.com/)로 이동하세요.
브랜치 이름을 입력합니다. 기본
aosp-master
브랜치를 사용하거나 일반 시스템 이미지(GSI) 브랜치(예:aosp-android13-gsi
)를 사용합니다.aosp_cf_x86_64_phone 빌드 타겟으로 이동하고 userdebug를 클릭하여 최신 빌드를 찾습니다.
userdebug 아래의 녹색 상자를 클릭하여 이 빌드를 선택합니다. 이 빌드와 관련된 자세한 정보가 있는 Details 패널이 표시됩니다. 이 패널에서 Artifacts를 클릭하여 이 빌드에 연결된 모든 아티팩트 목록을 확인합니다.
Artifacts 패널에서 Cuttlefish의 아티팩트를 다운로드합니다.
aosp_cf_x86_64_phone-img-xxxxxx.zip
아티팩트를 클릭합니다. 여기에는 기기 이미지가 포함되어 있습니다. 파일 이름에서 'xxxxxx'는 이 기기의 빌드 ID입니다.패널에서 아래로 스크롤하여
cvd-host_package.tar.gz
를 다운로드합니다. 항상 이미지와 동일한 빌드에서 호스트 패키지를 다운로드해야 합니다.
로컬 시스템에서 컨테이너 폴더를 만들고 패키지를 추출합니다.
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
Cuttlefish를 실행합니다.
HOME=$PWD ./bin/launch_cvd --daemon
adb를 통해 Cuttlefish가 표시되는지 확인
실제 기기와 마찬가지로 Cuttlefish는 Android 디버그 브리지(adb)를 통해 표시됩니다.
Cuttlefish를 실행한 폴더에서 다음 명령어를 실행하여 호스트 머신의 adb를 통해 사용할 수 있는 모든 Android 기기 목록을 확인합니다.
./bin/adb devices
웹에서 가상 기기 보기 및 상호작용
기본적으로 Cuttlefish는 --start_webrtc
로 시작되며, 이 명령어는 호스트 머신에서 8443 포트를 통해 WebView를 사용 설정합니다.
가상 기기를 보고 기기와 상호작용하려면 웹브라우저에서 https://localhost:8443으로 이동합니다.
자세한 내용은 Cuttlefish: WebRTC 스트리밍을 참고하세요.
Cuttlefish 중지
가상 기기를 실행하는 데 사용한 디렉터리와 동일한 디렉터리 내에서 기기를 중지합니다.
HOME=$PWD ./bin/stop_cvd