توضّح هذه الصفحة كيفية إنشاء جهاز Cuttlefish مخصّص. يتضمّن Cuttlefish
أنواع أجهزة محدّدة مسبقًا بأشكال مختلفة كما هو موضّح في
AndroidProducts.mk
. بالإضافة إلى خيارات تخصيص الجهاز العامة описанة في إضافة جهاز جديد، يمكنك إجراء تخصيصات خاصة بمنصة Cuttlefish، مثل الإعدادات المُسبقة لضبط برمجة لوحة الجهاز الافتراضي (vsoc_x86_64 وvsoc_arm64 وvsoc_riscv64) والبرامج المُسبقة لنظام التشغيل وبرامج التمهيد المُسبقة وخصائص المورّد وإعدادات النظام ودعم التوفّر المُدمج للأجهزة الافتراضية وخيارات العرض. للحصول على قائمة كاملة بملفه
مَعلمات وقت الإنشاء التي يمكن تخصيصها، راجِع
device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
توضِّح الخطوات التالية كيفية إنشاء جهاز x86-64
big_phone
خيالي أكبر بعشر مرات من حجم جهاز
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
flag
التلقائية من قاموس 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