التنفيذ
يمكن للأجهزة التي تعمل بنظام التشغيل 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 توقيع ملف APK
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
في قسم المنتج وضبط القيمة /product
على سمة ro.postinstall.fstab.prefix
.
# 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