تطبيق
يمكن للأجهزة التي تعمل بنظام Android والتي تعمل بنظام التشغيل Android 9 والإصدارات الأقدم والتي تحتوي على أقسام A/B استخدام قسم system_other
غير النشط (على سبيل المثال، system_b
عندما يكون slot_a
نشطًا) لتخزين ملفات VDEX/ODEX المحسنة مسبقًا. عند استخدام system_other
، يتم تعيين ro.cp_system_other_odex
على 1 لخدمة مدير الحزم لتعيين sys.cppreopt=requested
لـ cppreopts.rc
للعمل بناءً عليه.
في Android 10، تم تقديمlibfs_avb
لدعم التحقق من AVB المستقل لقسم system_other
. يتم إلحاق بنية VBMeta لمثل هذا القسم بنهاية القسم، ليتم التحقق منها بواسطة مفتاح عام متوقع من نظام الملفات. يدعم نظام إنشاء Android التوقيع system_other.img
مع تضمين مفتاح التوقيع المقابل ضمن /product/etc/security/avb/system_other.avbpubkey
. تدعم أداة الإصدار sign_target_files_apks.py
أيضًا استبدال مفتاح التوقيع بإصدار الإصدار.
تحتوي أجهزة A/B التي تم إطلاقها قبل Android 10 على قسم فعلي system_other
، حتى إذا تمت ترقيته إلى Android 10 مع تعيين PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
على true
.
يجب أن تحتوي أجهزة A/B التي يتم تشغيلها بنظام Android 10 على قسم منطقي system_other
. يوضح المثال التالي ملف fstab.postinstall
نموذجي يمكّن AVB على system_other
.
#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> system /postinstall ext4 ro,nosuid,nodev,noexec slotselect_other,logical,avb_keys=/product/etc/security/avb/system_other.avbpubkey
يجب على الأجهزة التي تحتاج إلى تمكين AVB على قسم system_other
وضع ملف fstab
في قسم المنتج وتعيين الخاصية ro.postinstall.fstab.prefix
على /product
.
# Use /product/etc/fstab.postinstall to mount system_other. PRODUCT_PRODUCT_PROPERTIES += \ ro.postinstall.fstab.prefix=/product PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall