यह पृष्ठ वर्णन करता है कि एक अनुकूलित कटलफ़िश उपकरण कैसे बनाया जाए। कटलफिश में AndroidProducts.mk
में सूचीबद्ध विभिन्न फॉर्म कारकों में पूर्वनिर्धारित डिवाइस प्रकार शामिल हैं। नई डिवाइस जोड़ना में वर्णित सामान्य डिवाइस अनुकूलन विकल्पों के अलावा, आप कटलफिश-विशिष्ट अनुकूलन कर सकते हैं जैसे वर्चुअल डिवाइस बोर्ड कॉन्फ़िगरेशन प्रीसेट (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 कॉन्फ़िगरेशन को परिभाषित करें
कटलफिश डिवाइस लॉन्च करने के लिए, डिवाइस गुणों का प्रतिनिधित्व करने वाली एक पदानुक्रमित संरचना के साथ big_phone .json
नाम से एक JSON कॉन्फ़िगरेशन फ़ाइल बनाएं। उदाहरण के लिए, JSON कॉन्फ़िगरेशन फ़ाइल में, आप VM के लिए आवंटित RAM और डिस्प्ले कॉन्फ़िगरेशन जैसे विकल्प निर्दिष्ट कर सकते हैं। इस फ़ाइल का AOSP ट्री में होना आवश्यक नहीं है. कॉन्फ़िगरेशन के लिए JSON प्रारूप के विवरण के लिए, Canonical कॉन्फ़िगरेशन देखें।
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
कॉन्फ़िगरेशन लॉन्च करने के लिए, चलाएँ:
cvd start --config_file=big_phone.json
लॉन्च_सीवीडी चलाएँ (विरासत)
कुछ कॉन्फ़िगरेशन गुण पदानुक्रमित JSON कॉन्फ़िगरेशन प्रारूप में उपलब्ध नहीं हैं। ऐसे कॉन्फ़िगरेशन के लिए, आप एकल-स्तरीय JSON शब्दकोश से launch_cvd
ध्वज डिफ़ॉल्ट मान सेट कर सकते हैं। सभी कॉन्फ़िगरेशन विकल्पों की पूरी सूची के लिए, cf_flags_validator.cpp
देखें।
निम्नलिखित एक उदाहरण का वर्णन करता है कि JSON कॉन्फ़िगरेशन फ़ाइल का उपयोग करके launch_cvd
ध्वज विकल्पों के डिफ़ॉल्ट मानों को कैसे ओवरराइड किया जाए और कस्टम कॉन्फ़िगरेशन लॉन्च करने के लिए कटलफ़िश लॉन्चर को सक्षम किया जाए।
कस्टम मानों के साथ एक 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, }
कटलफिश लॉन्चर के लिए
big_phone
कॉन्फ़िगरेशन लॉन्च करने के लिए, निम्न कार्य करके सुनिश्चित करें कि उसके पासdevice/google/cuttlefish/shared/config/config_ big_phone .json
फ़ाइल तक पहुंच है:device/google/cuttlefish/shared/config/Android.bp
फ़ाइल मेंprebuilt_etc_host
श्लोक जोड़कर JSON आर्टिफैक्ट को बिल्ड आर्टिफैक्ट घोषित करें।prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
device/google/cuttlefish/shared/device.mk
में निम्नलिखित चलाकर परिणामी बिल्ड आर्टिफैक्ट घोषणा को कटलफिश लॉन्चर में जोड़ें।$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
एक
android_info.txt
फ़ाइल बनाएं औरdevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
में निम्न पंक्ति जोड़करbig_phone
कॉन्फ़िगरेशन को फ़ाइल से जोड़ें:TARGET_BOARD_INFO_FILE := device/google/cuttlefish/vsoc_x86_64/<var>big_phone</var>/android-info.txt
निम्नलिखित के साथ
device/google/cuttlefish/vsoc_x86_64/ big_phone /android-info.txt
को पॉप्युलेट करके डिवाइस प्रकार कोbig_phone
कॉन्फ़िगरेशन के साथ लेबल करें:config=big_phone