На этой странице рассказывается, как скачать, собрать и запустить AAOS SDV на Cuttlefish.
Как получить исходный код AAOS SDV
Следуйте инструкциям в статье Как скачать исходный код Android.
Настройте среду сборки
В рабочем каталоге запустите скрипт envsetup.sh, чтобы настроить среду сборки:
source build/envsetup.shЭтот скрипт импортирует несколько команд, которые позволяют работать с исходным кодом Android, включая команды, используемые на этой странице. Исходный код скрипта можно посмотреть на странице platform/build/envsetup.sh. Чтобы открыть встроенную справку, введите hmm.
Выберите цель
Прежде чем создавать SDV, определите цель. Чтобы указать целевую платформу, используйте команду lunch, а затем строку, представляющую целевую платформу, для которой вы выполняете сборку. Например, используйте эту команду, чтобы создать цель для эмулятора Cuttlefish:
lunch sdv_core_cf-aosp_current-userdebugЭта команда выбирает продукт, конфигурацию выпуска и вариант для сборки и сохраняет выбор в среде.
Цели lunch для SDV предоставляются в отдельном проекте Git, расположенном в каталоге device/google/sdv. Подробное описание доступных целей можно найти на странице device/google/sdv/README.md. Основные цели Cuttlefish (cf):
sdv_core_cf-aosp_current-userdebug– создайте образ AAOS SDV Core (sdv_core), который работает на Cuttlefish (cf).sdv_media_cf-aosp_current-userdebug– создайте образ AAOS SDV Core с виртуализированными API мультимедиа virtIO (sdv_media).sdv_media_har_cf-aosp_current-userdebug– создайте образ, который расширяет цель AAOS SDV media (sdv_media_cf)lunch, чтобы включить средство визуализации с высокой доступностью (HAR). HAR запускается автоматически при загрузке.sdv_ivi_cf-aosp_current-userdebug– создайте образ информационно-развлекательной системы (IVI), содержащий шлюз SDV и примеры приложений Java.sdv_ivi_cf_ds-aosp_current-userdebug– создайте образ, который расширяет целевой объект AAOS SDV IVI (sdv_ivi_cf) и включает реализацию DriverUI и приборной панели Display Safety.
Создание SDV на базе AAOS
Выполните следующую команду, чтобы создать цель. В зависимости от характеристик вашей рабочей станции первая сборка занимает от 30 до 60 минут. Последующие сборки занимают значительно меньше времени.
mРезультат сборки появится в $OUT_DIR. Если вы создаете разные цели, каждая сборка цели появляется в $OUT_DIR.
Как протестировать сборку с помощью Cuttlefish
После сборки AAOS SDV протестируйте ее с помощью Cuttlefish.
Чтобы запустить Cuttlefish со своей сборкой:
cvd createCuttlefish запустится с использованием созданной вами цели (
sdv_core_cf-aosp_current-userdebug). После загрузки Cuttlefish появится следующее сообщение:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyЧтобы подключиться к Cuttlefish, выполните команду
adb.Чтобы убедиться, что сборка работает, выполните команду
adb devices. Появится примерно такой результат:List of devices attached 0.0.0.0:6520 deviceВыполните команду
cvd stop, чтобы выключить устройство.
Чтобы запустить несколько экземпляров Cuttlefish с разными сборками, ознакомьтесь с разделом Cuttlefish: многопользовательский режим.
Устранение неполадок
В этом разделе рассказывается, как устранять неполадки, которые могут возникнуть при скачивании, сборке или запуске AAOS SDV.
Ошибки RBE
Если вы столкнулись с ошибками Remote Build Execution (RBE), удалите определения USE_RBE и ENABLE_RBE_BOOTSTRAP из .bashrc или .zshrc.
cvd: менеджер ВМ crosvm не поддерживается на этом компьютере
Если Cuttlefish сообщает, что менеджер ВМ crosvm не поддерживается на вашем компьютере, выполните следующую команду, чтобы установить Cuttlefish:
sudo apt install cuttlefish-commoncvd not found
Если вы получили ошибку cvd not found:
- Настройте сборку заново.
- Перейдите к разделу Как выбрать цель.
Циклические сбои Cuttlefish
Если Cuttlefish входит в цикл сбоев:
- Чтобы остановить все экземпляры Cuttlefish, выполните команду
cvd stop. - Повторно протестируйте сборку с помощью Cuttlefish.