Bu sayfada, özelleştirilmiş bir Mürekkep Balığı cihazının nasıl oluşturulacağı açıklanmaktadır. Mürekkepbalığı, AndroidProducts.mk
bölümünde listelenen 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 hazır ayarları (vsoc_x86_64, vsoc_arm64, vsoc_riscv64), çekirdek hazır ayarları, önyükleme yükleyici hazır ayarları, tedarikçi firma özellikleri, sistem yapılandırmaları, iç içe yerleştirilmiş sanallaştırma desteği ve görüntüleme seçenekleri gibi Cuttlefish'e özgü özelleştirmeler yapabilirsiniz. Özelleştirilebilen derleme zamanı parametrelerinin tam listesi için device/google/cuttlefish/vsoc_x86_64/phone/aosp_cf.mk
bölümüne bakın.
Aşağıdaki adımlarda, sıradan bir Mürekkep Balığı cihazının on katı büyüklüğünde kurgusal bir x86-64 big_phone
cihazının nasıl oluşturulacağı açıklanmaktadır.
Mevcut bir hedeften devralma
Mevcut bir hedeften devralmak için:
- Bir
device/google/cuttlefish/vsoc_x86_64/big_phone
dizin oluşturun. - Söz konusu 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 ekleme
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ımlama
Cuttlefish cihazını başlatmak için cihaz özelliklerini temsil eden hiyerarşik bir yapıya sahip big_phone.json
adlı bir JSON yapılandırma dosyası oluşturun. Örneğin, JSON yapılandırma dosyasında sanal makine 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ırmalar için JSON biçimi hakkında ayrıntılı bilgi edinmek istiyorsanız Kurallı yapılandırmalar başlıklı makaleyi inceleyin.
{
"instances":
[
{
"vm": {
"memory_mb": 40960,
},
"graphics": {
"displays": [
{
"width": 7200,
"height": 12800,
"dpi": 320
}
]
}
}
]
}
Yapılandırmayı başlatmak için şu komutu çalıştırın:
cvd create --config_file=big_phone.json
launch_cvd (eski) işlevini çalıştırma
Belirli yapılandırma özellikleri, hiyerarşik JSON yapılandırma biçiminde kullanılamaz. Bu tür yapılandırmalar için tek düzeyli bir JSON sözlüğünden launch_cvd
işareti varsayılan değerlerini ayarlayabilirsiniz. Tüm yapılandırma seçeneklerinin tam listesi için cf_flags_validator.cpp
bölümüne bakın.
Aşağıda, JSON yapılandırma dosyası kullanılarak launch_cvd
işaret seçeneklerinin varsayılan değerlerinin nasıl geçersiz kılınacağı ve Cuttlefish başlatıcısının özel yapılandırmayı başlatması için nasıl etkinleştirileceği açıklanmaktadır.
Özel değerler içeren bir JSON yapılandırma dosyası
device/google/cuttlefish/shared/config/config_big_phone.json
oluşturun.{ "x_res": 7200, "y_res": 12800, "dpi": 320, "memory_mb": 40960, "ddr_mem_mb": 49150, }
Cuttlefish 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ısını bir derleme yapısı olarak tanımlayın.prebuilt_etc_host { name: "cvd_config_big_phone.json", src: "config_big_phone.json", sub_dir: "cvd_config", }
Elde edilen derleme yapı bildirimini
device/google/cuttlefish/shared/device.mk
'te aşağıdakileri çalıştırarak Cuttlefish başlatıcısına ekleyin.$(call soong_config_append,cvd,launch_configs,cvd_config_big_phone)
Bir
android_info.txt
dosyası oluşturun vedevice/google/cuttlefish/vsoc_x86_64/big_phone/aosp_cf.mk
dosyasına aşağıdaki satırı 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
değerini aşağıdakilerle doldurarak cihaz türünübig_phone
yapılandırmasıyla etiketleyin:config=big_phone