বাস্তবায়ন
অ্যান্ড্রয়েড-চালিত ডিভাইসে অ্যান্ড্রয়েড 9 এবং তার থেকে কম যেগুলিতে A/B পার্টিশন রয়েছে সেগুলি প্রি-অপ্টিমাইজ করা VDEX/ODEX ফাইলগুলি সংরক্ষণ করতে নিষ্ক্রিয় system_other
পার্টিশন (উদাহরণস্বরূপ, slot_a
সক্রিয় থাকলে system_b
) ব্যবহার করতে পারে। যখন system_other
ব্যবহার করা হয়, প্যাকেজ ম্যানেজার পরিষেবার জন্য ro.cp_system_other_odex
1 তে সেট করা হয় sys.cppreopt=requested
for cppreopts.rc
সেট করার জন্য।
অ্যান্ড্রয়েড 10-এ, system_other
পার্টিশনের জন্য স্বতন্ত্র AVB যাচাইকরণ সমর্থন করার জন্যlibfs_avb
চালু করা হয়েছে। ফাইল সিস্টেম থেকে প্রত্যাশিত পাবলিক কী দ্বারা যাচাই করার জন্য এই ধরনের পার্টিশনের VBMeta কাঠামো পার্টিশনের শেষে যুক্ত করা হয়। অ্যান্ড্রয়েড বিল্ড সিস্টেম /product/etc/security/avb/system_other.avbpubkey
এর অধীনে সংশ্লিষ্ট সাইনিং কী অন্তর্ভুক্ত করার সময় system_other.img
স্বাক্ষর করা সমর্থন করে। রিলিজ টুল sign_target_files_apks.py
এছাড়াও একটি রিলিজ সংস্করণে সাইনিং কী প্রতিস্থাপন সমর্থন করে।
Android 10-এর আগে লঞ্চ করা A/B ডিভাইসগুলির একটি ফিজিক্যাল system_other
পার্টিশন থাকে, এমনকি যদি এটি PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
এর সাথে true
সেট করে Android 10-এ আপগ্রেড করা হয়।
অ্যান্ড্রয়েড 10 এর সাথে চালু হওয়া A/B ডিভাইসগুলির একটি লজিক্যাল system_other
পার্টিশন থাকতে হবে। নিম্নলিখিত উদাহরণটি একটি সাধারণ fstab.postinstall
ফাইল দেখায় যা system_other
এ AVB সক্ষম করে।
#<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
যে ডিভাইসগুলিকে system_other
পার্টিশনে AVB সক্রিয় করতে হবে তাদের 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