SDV, özel /oem_ab bölümü için A/B güncellemelerini etkinleştirir. Özel /oem_abbölümündeki güncellemeleri tetiklemek ve geri almak için Android sistem A/B güncellemelerine benzer özelliklere sahip OEM AB Updater kitaplığını kullanın.
system/software_defined_vehicle/samples/oem_partition_update_client içinde OEM AB Updater kitaplığı uygulaması için örnek koda bakın.
Kılavuzda, OEM AB Updater kitaplığının nasıl kullanılacağı ve kendi Updater Service uygulamanıza nasıl entegre edileceği açıklanmaktadır. Bu kılavuzda, değişikliklerinizi oluşturmak ve test etmek için Cuttlefish kullandığınız varsayılmaktadır.
Kütüphanenin konumu
OEM AB Updater kitaplığı, system/software_defined_vehicle/platform/oem dizininde bulunur.
Gerekli özel resimleri oluşturun
OEM AB Updater kitaplığı için çeşitli özel görüntüler gerekir. Bu görüntüler device/google/sdv/sdv_core_base/oem_ab/oem_ab.mk
ve device/google/sdv/sdv_core_base/oem_ab/oem_ab_metadata.mk içinde tanımlanır.
oem_ab.mk ve oem_ab_metadata.mk içinde tanımlanan gerekli özel resimler, hedef oluşturulduğunda oluşturulur. Örneğin, sdv_core_cf oluşturma işlemiyle şu bölüm resimleri oluşturulur:
source build/envsetup.sh
lunch sdv_core_cf-trunk_staging-userdebug
m
Özel blok cihazları belirtme
Cuttlefish lunch hedefinizin, blok cihazları ilgili bootconfig özelliğiyle eşlemek için BOARD_BOOTCONFIG ayarını yaptığını doğrulayın. Örneğin, device/google/sdv/sdv_core_cf/BoardConfig.mk bölümüne bakın.
BOARD_BOOTCONFIG += \
androidboot.sdv.oem_slot_a_device=/dev/block/by-name/custom \
androidboot.sdv.oem_slot_b_device=/dev/block/by-name/custom_1
Yeni bir sanal makine başlatma
Blok cihazların eşlendiğini doğruladıktan sonra, üç özel görüntüyle yeni bir sanal makine oluşturun:
cvd create --custom_partition_path="$OUT/oem_ab.img;$OUT/oem_ab.img;$OUT/oem_ab_metadata.img"
Yeni bir hizmette OEM AB Updater kitaplığını kullanma
Kitaplığı başka bir hizmette kullanmak için:
sdv_oem_updater::OemUpdatersandığınısystem/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rsbölümünde gösterildiği gibi içe aktarın.
. Create a new.tepolicy similar to the SELinux policies defined indevice/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te`.