Bu sayfada özelleştirilmiş bir Mürekkep Balığı cihazının nasıl oluşturulacağı açıklanmaktadır. Mürekkepbalığı, AndroidProducts.mk
listelendiği gibi farklı form faktörlerinde önceden tanımlanmış cihaz türlerini içerir. Yeni cihaz ekleme bölümünde açıklanan genel cihaz özelleştirme seçeneklerine ek olarak, sanal cihaz kartı yapılandırma ön ayarları (vsoc_x88_64, vsoc_arm64, vsoc_riscv64), önceden oluşturulmuş çekirdek, önyükleyici önceden oluşturulmuş, satıcı özellikleri, sistem yapılandırmaları, iç içe geçmiş gibi Cuttlefish'e özgü özelleştirmeler yapabilirsiniz. sanallaştırma desteği ve görüntüleme seçenekleri. Özelleştirilebilecek derleme süresi parametrelerinin tam listesi için bkz device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
.
Aşağıdaki adımlarda sıradan bir Mürekkepbalığı aygıtının on katı büyüklüğünde kurgusal bir x86-64 big_phone
aygıtının nasıl oluşturulacağı açıklanmaktadır.
Mevcut bir hedeften devral
Mevcut bir hedeften devralmak için:
- Bir
device/google/cuttlefish/vsoc_x86_64/ big_phone
dizini oluşturun. - Bu dizinde bir
aosp_cf.mk
dosyası oluşturun.
$(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)
Öğle yemeği hedefi ekleyin
lunch
hedefini device/google/cuttlefish/AndroidProducts.mk
dosyasına ekleyin:
PRODUCT_MAKEFILES := \
...
big_phone:$(LOCAL_DIR)/vsoc_x86_64/big_phone/aosp_cf.mk
...
lunch big_phone
JSON yapılandırmasını tanımlayın
Mürekkepbalığı aygıtını başlatmak için, aygıt özelliklerini temsil eden hiyerarşik yapıya sahip big_phone .json
adlı bir JSON yapılandırma dosyası oluşturun. Örneğin JSON yapılandırma dosyasında VM için ayrılan RAM ve ekran yapılandırması gibi seçenekleri belirtebilirsiniz. Bu dosyanın AOSP ağacında olması gerekmez. Yapılandırmalara ilişkin JSON biçimiyle ilgili ayrıntılar için bkz. Kanonik yapılandırmalar .
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
Yapılandırmayı başlatmak için şunu çalıştırın:
cvd start --config_file=big_phone.json
launch_cvd'yi çalıştırın (eski)
Belirli yapılandırma özellikleri hiyerarşik JSON yapılandırma biçiminde kullanılamaz. Bu tür yapılandırmalar için launch_cvd
bayrağının varsayılan değerlerini tek düzeyli bir JSON sözlüğünden ayarlayabilirsiniz. Tüm yapılandırma seçeneklerinin tam listesi için bkz. cf_flags_validator.cpp
.
Aşağıda, bir JSON yapılandırma dosyası kullanılarak launch_cvd
bayrak seçeneklerinin varsayılan değerlerinin nasıl geçersiz kılınacağına ve Mürekkepbalığı başlatıcısının özel yapılandırmayı başlatmasını nasıl etkinleştireceğine ilişkin bir örnek açıklanmaktadır.
Özel değerlere sahip bir JSON yapılandırma dosyası oluşturun:
device/google/cuttlefish/shared/config/config_ big_phone .json
{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
Mürekkepbalığı başlatıcısının
big_phone
yapılandırmasını başlatması için aşağıdakileri yaparakdevice/google/cuttlefish/shared/config/config_ big_phone .json
dosyasına erişebildiğinden emin olun:device/google/cuttlefish/shared/config/Android.bp
dosyasınaprebuilt_etc_host
kıtasını ekleyerek JSON yapıtını bir yapı yapıtı olarak bildirin.prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
Sonuçta elde edilen yapı yapıt bildirimini, aşağıdakileri
device/google/cuttlefish/shared/device.mk
dosyasında çalıştırarak Mürekkepbalığı başlatıcısına ekleyin.$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
Bir
android_info.txt
dosyası oluşturun ve aşağıdaki satırıdevice/google/cuttlefish/vsoc_x86_64/ big_phone /aosp_cf.mk
dosyasına ekleyerekbig_phone
yapılandırmasını dosyaya bağlayın: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
aşağıdakilerle doldurarak cihaz türünübig_phone
yapılandırmasıyla etiketleyin:config=big_phone