На этой странице описывается, как запустить сборку AOSP с помощью Cuttlefish .
Проверьте доступность KVM
Каракатица — это виртуальное устройство, работа которого зависит от наличия виртуализации на хост-компьютере.
В терминале на вашем хост-компьютере убедитесь, что доступна виртуализация с помощью виртуальной машины на основе ядра (KVM):
grep -c -w "vmx\|svm" /proc/cpuinfo
Эта команда должна возвращать ненулевое значение.
При работе на машине ARM64 самый прямой способ — проверить /dev/kvm
:
find /dev -name kvm
Запустить каракатицу
В окне терминала загрузите, соберите и установите хост-пакеты 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
.Каракатица является частью платформы с открытым исходным кодом Android (AOSP). Сборки виртуального устройства можно найти на сайте Android Continuous Integration. Чтобы найти указатель всех сборок Android, перейдите на сайт непрерывной интеграции Android по адресу http://ci.android.com/ .
Введите название филиала. Используйте ветку
aosp-main
по умолчанию или ветку общего образа системы (GSI), напримерaosp-android13-gsi
.Перейдите к цели сборки aosp_cf_x86_64_phone и нажмите userdebug для получения последней сборки.
Щелкните зеленое поле под userdebug, чтобы выбрать эту сборку. Появится панель сведений с дополнительной информацией, относящейся к этой сборке. На этой панели нажмите «Артефакты» , чтобы просмотреть список всех артефактов, прикрепленных к этой сборке.
На панели «Артефакты» загрузите артефакты для Каракатицы.
Щелкните артефакт
aosp_cf_x86_64_phone-img-xxxxxx.zip
для x86_64 или артефактaosp_cf_arm64_only_phone-xxxxxx.zip
для ARM64, который содержит образы устройств. В имени файла «xxxxxx» — это идентификатор сборки для этого устройства.Прокрутите панель вниз и загрузите
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
Запускаем каракатицу:
HOME=$PWD ./bin/launch_cvd --daemon
Убедитесь, что каракатица видна через adb
Подобно физическому устройству, Cuttlefish виден через Android Debug Bridge (adb) .
В той же папке, где вы запустили Cuttlefish, выполните следующую команду, чтобы увидеть список всех устройств Android, доступных через adb на вашем хост-компьютере:
./bin/adb devices
Просмотр и взаимодействие с виртуальным устройством в Интернете
По умолчанию Cuttlefish запускается с --start_webrtc
, который включает веб-просмотр через порт 8443 на хост-компьютере.
Для просмотра виртуальных устройств и взаимодействия с ними перейдите по адресу https://localhost:8443 в веб-браузере.
Дополнительные сведения см. в разделе Каракатица: потоковая передача WebRTC .
Остановить каракатицу
Остановите виртуальное устройство в том же каталоге, который вы использовали для запуска устройства:
HOME=$PWD ./bin/stop_cvd