На этой странице описано, как запустить сборку 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. Чтобы найти индекс всех сборок Android, перейдите на сайт непрерывной интеграции Android по адресу http://ci.android.com/ .
Введите имя ветки. Используйте ветку по умолчанию
aosp-android-latest-releaseили ветку универсального образа системы (GSI), напримерaosp-android13-gsi.Перейдите к целевому объекту сборки aosp_cf_x86_64_only_phone и нажмите userdebug , чтобы получить последнюю сборку.
Щелкните зеленую рамку под userdebug , чтобы выбрать эту сборку. Откроется панель «Подробности» с дополнительной информацией, относящейся к этой сборке. На этой панели щелкните «Артефакты» , чтобы увидеть список всех артефактов, прикрепленных к этой сборке.
В панели «Артефакты» загрузите артефакты для Каракатицы.
Для архитектуры x86_64 щелкните файл
aosp_cf_x86_64_phone-img-xxxxxx.zip, а для ARM64 — файлaosp_cf_arm64_only_phone-xxxxxx.zip, содержащие образы устройств. В имени файла "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
Запуск Cuttlefish:
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