SDV, özel /oem_ab bölümü için A/B güncellemelerini etkinleştirir. Özel /oem_ab bölümü için güncellemeleri tetiklemek ve geri almak üzere OEM AB Updater kitaplığını kullanın. Bu kitaplık, Android sistemi A/B güncellemelerine benzer özelliklere sahiptir.
system/software_defined_vehicle/samples/oem_partition_update_client adresinde OEM AB Updater kitaplığı uygulamasının örnek kodunu inceleyin.
Kılavuzda, OEM AB Updater kitaplığının nasıl kullanılacağı ve kendi Updater hizmeti uygulamanızla nasıl entegre edileceği açıklanmaktadır. Bu kılavuzda, değişikliklerinizi derlemek ve test etmek için Cuttlefish'i kullandığınız varsayılmaktadır.
Kütüphanenin konumu
OEM AB Updater kitaplığı system/software_defined_vehicle/platform/oem dizinindedir.
Gerekli özel görüntüleri oluşturma
OEM AB Updater kitaplığı için birkaç özel görüntü gerekir. Bu resimler 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 görüntüler, hedef oluşturulduğunda oluşturulur. Örneğin, sdv_core_cf derlemesi şu bölüm resimlerini oluşturur:
source build/envsetup.sh
lunch sdv_core_cf-aosp_current-userdebug
m
Özel blok cihazları belirtme
Cuttlefish lunch hedefinizin, blok cihazları ilgili bootconfig özelliğiyle eşlemek için BOARD_BOOTCONFIG değerini ayarladığını doğrulayın. Örneğin, device/google/sdv/sdv_core_cf/BoardConfig.mk sayfasına 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.device/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.teiçinde tanımlanan SELinux politikalarına benzer yeni bir.tepolitikası oluşturun.