На этой странице описывается, как создать настроенное устройство Cuttlefish. Cuttlefish включает в себя предопределенные типы устройств в различных форм-факторах, перечисленных в AndroidProducts.mk
. В дополнение к общим параметрам настройки устройства, описанным в Добавление нового устройства , вы можете выполнить специфичные для Cuttlefish настройки, такие как предустановки конфигурации платы виртуального устройства (vsoc_x86_64, vsoc_arm64, vsoc_riscv64), готовые сборки ядра, готовые сборки загрузчика, свойства поставщика, конфигурации системы, поддержка вложенной виртуализации и параметры отображения. Полный список параметров времени сборки, которые можно настроить, см. device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
Следующие шаги описывают, как создать вымышленное устройство big_phone
x86-64, в десять раз превышающее по размеру обычное устройство Cuttlefish.
Наследовать от существующей цели
Чтобы унаследовать от существующей цели:
- Создайте каталог
device/google/cuttlefish/vsoc_x86_64/ big_phone
. - Создайте в этом каталоге файл
aosp_cf.mk
.
$(call inherit-product, device/google/cuttlefish/vsoc_x86_64_phone.mk)
PRODUCT_NAME: big_phone
PRODUCT_DEVICE: vsoc_x86_64
PRODUCT_MANUFACTURER := My Company
PRODUCT_MODEL: My Company very large phone
PRODUCT_VENDOR_PROPERTIES += \
ro.soc.manufacturer=$(PRODUCT_MANUFACTURER) \
ro.soc.model=$(PRODUCT_DEVICE)
Добавить цель на обед
Вставьте цель lunch
в файл device/google/cuttlefish/AndroidProducts.mk
:
PRODUCT_MAKEFILES := \
...
big_phone:$(LOCAL_DIR)/vsoc_x86_64/big_phone/aosp_cf.mk
...
lunch big_phone
Определить конфигурацию JSON
Для запуска устройства Cuttlefish создайте файл конфигурации JSON с именем big_phone .json
с иерархической структурой, представляющей свойства устройства. Например, в файле конфигурации JSON можно указать такие параметры, как объем оперативной памяти, выделенный для виртуальной машины, и конфигурацию дисплея. Этот файл не обязательно должен находиться в дереве AOSP. Подробнее о формате JSON для конфигураций см. в разделе Канонические конфигурации .
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
Для запуска конфигурации выполните:
cvd create --config_file=big_phone.json
Запустить launch_cvd (устаревший)
Некоторые свойства конфигурации недоступны в иерархическом формате конфигурации JSON. Для таких конфигураций можно задать значения по умолчанию флага launch_cvd
из одноуровневого словаря JSON. Полный список всех параметров конфигурации см. в cf_flags_validator.cpp
.
Ниже описан пример того, как переопределить значения по умолчанию параметров флага launch_cvd
с помощью файла конфигурации JSON и включить средство запуска Cuttlefish для запуска пользовательской конфигурации.
Создайте файл конфигурации JSON,
device/google/cuttlefish/shared/config/config_ big_phone .json
, с пользовательскими значениями.{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
Чтобы лаунчер Cuttlefish запустил конфигурацию
big_phone
, убедитесь, что у него есть доступ к файлуdevice/google/cuttlefish/shared/config/config_ big_phone .json
выполнив следующие действия:Объявите артефакт JSON как артефакт сборки, добавив строфу
prebuilt_etc_host
в файлdevice/google/cuttlefish/shared/config/Android.bp
.prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
Добавьте результирующее объявление артефакта сборки в средство запуска Cuttlefish, выполнив следующую команду в
device/google/cuttlefish/shared/device.mk
.$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
Создайте файл
android_info.txt
и привяжите к нему конфигурациюbig_phone
, добавив следующую строку вdevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
:TARGET_BOARD_INFO_FILE := device/google/cuttlefish/vsoc_x86_64/<var>big_phone</var>/android-info.txt
Пометьте тип устройства с помощью конфигурации
big_phone
, заполнивdevice/google/cuttlefish/vsoc_x86_64/ big_phone /android-info.txt
следующим:config=big_phone
На этой странице описывается, как создать настроенное устройство Cuttlefish. Cuttlefish включает в себя предопределенные типы устройств в различных форм-факторах, перечисленных в AndroidProducts.mk
. В дополнение к общим параметрам настройки устройства, описанным в Добавление нового устройства , вы можете выполнить специфичные для Cuttlefish настройки, такие как предустановки конфигурации платы виртуального устройства (vsoc_x86_64, vsoc_arm64, vsoc_riscv64), готовые сборки ядра, готовые сборки загрузчика, свойства поставщика, конфигурации системы, поддержка вложенной виртуализации и параметры отображения. Полный список параметров времени сборки, которые можно настроить, см. device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
Следующие шаги описывают, как создать вымышленное устройство big_phone
x86-64, в десять раз превышающее по размеру обычное устройство Cuttlefish.
Наследовать от существующей цели
Чтобы унаследовать от существующей цели:
- Создайте каталог
device/google/cuttlefish/vsoc_x86_64/ big_phone
. - Создайте в этом каталоге файл
aosp_cf.mk
.
$(call inherit-product, device/google/cuttlefish/vsoc_x86_64_phone.mk)
PRODUCT_NAME: big_phone
PRODUCT_DEVICE: vsoc_x86_64
PRODUCT_MANUFACTURER := My Company
PRODUCT_MODEL: My Company very large phone
PRODUCT_VENDOR_PROPERTIES += \
ro.soc.manufacturer=$(PRODUCT_MANUFACTURER) \
ro.soc.model=$(PRODUCT_DEVICE)
Добавить цель на обед
Вставьте цель lunch
в файл device/google/cuttlefish/AndroidProducts.mk
:
PRODUCT_MAKEFILES := \
...
big_phone:$(LOCAL_DIR)/vsoc_x86_64/big_phone/aosp_cf.mk
...
lunch big_phone
Определить конфигурацию JSON
Для запуска устройства Cuttlefish создайте файл конфигурации JSON с именем big_phone .json
с иерархической структурой, представляющей свойства устройства. Например, в файле конфигурации JSON можно указать такие параметры, как объем оперативной памяти, выделенный для виртуальной машины, и конфигурацию дисплея. Этот файл не обязательно должен находиться в дереве AOSP. Подробнее о формате JSON для конфигураций см. в разделе Канонические конфигурации .
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
Для запуска конфигурации выполните:
cvd create --config_file=big_phone.json
Запустить launch_cvd (устаревший)
Некоторые свойства конфигурации недоступны в иерархическом формате конфигурации JSON. Для таких конфигураций можно задать значения по умолчанию флага launch_cvd
из одноуровневого словаря JSON. Полный список всех параметров конфигурации см. в cf_flags_validator.cpp
.
Ниже описан пример того, как переопределить значения по умолчанию параметров флага launch_cvd
с помощью файла конфигурации JSON и включить средство запуска Cuttlefish для запуска пользовательской конфигурации.
Создайте файл конфигурации JSON,
device/google/cuttlefish/shared/config/config_ big_phone .json
, с пользовательскими значениями.{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
Чтобы лаунчер Cuttlefish запустил конфигурацию
big_phone
, убедитесь, что у него есть доступ к файлуdevice/google/cuttlefish/shared/config/config_ big_phone .json
выполнив следующие действия:Объявите артефакт JSON как артефакт сборки, добавив строфу
prebuilt_etc_host
в файлdevice/google/cuttlefish/shared/config/Android.bp
.prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
Добавьте результирующее объявление артефакта сборки в средство запуска Cuttlefish, выполнив следующую команду в
device/google/cuttlefish/shared/device.mk
.$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
Создайте файл
android_info.txt
и привяжите к нему конфигурациюbig_phone
, добавив следующую строку вdevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
:TARGET_BOARD_INFO_FILE := device/google/cuttlefish/vsoc_x86_64/<var>big_phone</var>/android-info.txt
Пометьте тип устройства с помощью конфигурации
big_phone
, заполнивdevice/google/cuttlefish/vsoc_x86_64/ big_phone /android-info.txt
следующим:config=big_phone