На этой странице описывается, как запустить сборку AOSP с помощью Cuttlefish .
Проверьте доступность KVM
Cuttlefish — это виртуальное устройство, работа которого зависит от доступности виртуализации на хост-машине.
В терминале на хост-компьютере убедитесь, что доступна виртуализация с использованием виртуальной машины на базе ядра (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 curlgit clone https://github.com/google/android-cuttlefishcd android-cuttlefishtools/buildutils/build_packages.shsudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -fsudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -fsudo usermod -aG kvm,cvdnetwork,render $USERsudo rebootПерезагрузка запускает установку дополнительных модулей ядра и применяет правила
udev.Cuttlefish является частью платформы Android с открытым исходным кодом (AOSP). Сборки виртуального устройства доступны на сайте Android Continuous Integration. Чтобы найти список всех сборок Android, перейдите на сайт Android Continuous Integration по адресу http://ci.android.com/ .
Введите имя ветки. Используйте ветку по умолчанию
aosp-android-latest-releaseили ветку общего образа системы (GSI), напримерaosp-android13-gsi.Перейдите к цели сборки aosp_cf_x86_64_only_phone и нажмите userdebug для последней сборки.
Щелкните зелёный квадратик под userdebug , чтобы выбрать эту сборку. Появится панель «Подробности» с более подробной информацией об этой сборке. На этой панели нажмите «Артефакты» , чтобы увидеть список всех артефактов, прикреплённых к этой сборке.
На панели «Артефакты» загрузите артефакты для Cuttlefish.
Нажмите на файл
aosp_cf_x86_64_phone-img-xxxxxx.zipдля x86_64 или на файлaosp_cf_arm64_only_phone-xxxxxx.zipдля ARM64, содержащий образы устройств. В имени файла «xxxxxx» — это идентификатор сборки для этого устройства.Прокрутите панель вниз и загрузите
cvd-host_package.tar.gz. Всегда загружайте пакет host из той же сборки, что и ваши образы.
В локальной системе создайте папку-контейнер и извлеките пакеты:
Архитектура x86_64:
mkdir cfcd cftar -xvf /path/to/cvd-host_package.tar.gzunzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zipАрхитектура ARM64:
mkdir cfcd cftar -xvf /path/to/cvd-host_package.tar.gzunzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip
Запуск каракатицы:
HOME=$PWD ./bin/launch_cvd --daemon
Убедитесь, что Cuttlefish виден через ADB
Подобно физическому устройству, Cuttlefish виден через Android Debug Bridge (adb) .
В той же папке, где вы запустили Cuttlefish, выполните следующую команду, чтобы увидеть список всех устройств Android, доступных через adb на вашем хост-компьютере:
./bin/adb devicesПросмотр и взаимодействие с виртуальным устройством в Интернете
По умолчанию Cuttlefish запускается с --start_webrtc , который включает веб-просмотр через порт 8443 на хост-компьютере.
Для просмотра и взаимодействия с виртуальными устройствами перейдите по адресу https://localhost:8443 в веб-браузере.
Для получения дополнительной информации см. Cuttlefish: WebRTC Streaming .
Остановить каракатицу
Остановите виртуальное устройство в том же каталоге, который использовался для запуска устройства:
HOME=$PWD ./bin/stop_cvd