דף זה מתאר כיצד ליצור מכשיר דיונון מותאם אישית. דיונון כולל סוגי מכשירים מוגדרים מראש בגורמי צורה שונים כפי שמופיעים ב- AndroidProducts.mk
. בנוסף לאפשרויות ההתאמה האישית הכלליות של המכשיר המתוארות בהוספת התקן חדש , ניתן לבצע התאמות אישיות ספציפיות ל-Cuttlefish, כגון קביעות מראש של תצורת לוח המכשירים הווירטואליים (vsoc_x88_64, vsoc_arm64, vsoc_riscv64), בנייה מוקדמת של ליבה, בנייה מראש של טוען אתחול, מאפייני ספק, תצורות מערכת, מקוננות תמיכה בווירטואליזציה ואפשרויות תצוגה. לרשימה מלאה של פרמטרי זמן הבנייה שניתן להתאים אישית, ראה device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
השלבים הבאים מתארים כיצד ליצור מכשיר x86-64 big_phone
בדיוני בגודל פי עשרה ממכשיר דיונון רגיל.
קבל בירושה מיעד קיים
כדי לרשת מיעד קיים:
- צור ספריית
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, אתה יכול לציין אפשרויות כגון זיכרון RAM שהוקצה ל-VM ותצורת התצוגה. קובץ זה לא חייב להיות בעץ AOSP. לפרטים על פורמט JSON לתצורות, ראה תצורות קנוניות .
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
כדי להפעיל את התצורה, הפעל:
cvd start --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", }
הוסף את הצהרת ה-build artifact שהתקבלה ל-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