توضّح هذه الصفحة العديد من المهام التي قد تحتاج إلى تنفيذها إذا كنت بصدد إعداد إصدار لجهازك الخاص.
إنشاء إعدادات مخصّصة للفلاش
يتم تحديد تعليمات Fastboot في عنصر يُعرف باسم fastboot-info.txt. إذا أنشأت عدة أهداف، سيكون لديك عدة ملفات fastboot-info.txt في $OUT_DIR. ويشير الرمز $ANDROID_PRODUCT_OUT إلى أحدث استهداف أنشأته. تعرض هذه الصفحة قائمة بالمهام التي يجب أن ينفّذها fastboot
ويمكن إعادة إنشائها باستخدام m fastboot_info. يمكنك تقديم منطق وميض مخصّص من خلال تعديل الملف fastboot-info.txt.
يتوافق ملف fastboot-info.txt مع الأوامر التالية:
flash %s: يضيء قسمًا معيّنًا. تتضمّن الوسيطات الاختيارية--slot-other,filename_path, and--apply-vbmeta`.-
update-super: تعديل القسم الفائق -
if-wipe: يتم تشغيل بعض المكوّنات الأخرى بشكل مشروط في حال تحديد عملية محو. erase %s: يمحو قسمًا معيّنًا (يمكن استخدامه فقط معif-wipe-> على سبيل المثالif-wipe erase cache).
تحديد حالة قفل الفلاش
إذا كنت بصدد إنشاء برنامج خفي مخصّص لبرنامج flashboot (يُعرف باسم flashbootd) لجهاز، عليك أن تتمكّن من الحصول على برنامج الإقلاع وحالة قفل برنامج الإقلاع. يرسل getFlashLockState() @SystemApi حالة برنامج الإقلاع، وتعرض واجهة برمجة التطبيقات PersistentDataBlockManager.getFlashLockState() حالة قفل برنامج الإقلاع على الأجهزة المتوافقة.
| القيمة المعروضة | الحالات الطبية |
|---|---|
FLASH_LOCK_UNKNOWN |
يتم عرض هذه الحالة فقط على الأجهزة التي تمت ترقيتها إلى الإصدار 7.x من نظام التشغيل Android أو إصدار أحدث والتي لم تكن تتوافق سابقًا مع التغييرات في برنامج الإقلاع المطلوبة للحصول على حالة قفل الفلاش، وذلك إذا كانت تتوافق مع إمكانية قفل/فتح الفلاش.
|
FLASH_LOCK_LOCKED |
يتم عرض هذا الرمز من خلال أي جهاز لا يتيح فتح قفل الجهاز أو قفله (أي أنّ الجهاز يكون مقفلاً دائمًا)، أو أي جهاز يتيح فتح قفل الجهاز أو قفله ويكون في حالة القفل. |
FLASH_LOCK_UNLOCKED |
يتم عرض هذه الحالة من خلال أي جهاز يتيح قفل/فتح القفل باستخدام الضوء الوامض ويكون في حالة فتح القفل. |
على المصنّعين اختبار القيم التي تعرضها الأجهزة التي تتضمّن برامج إقلاع مقفلة وغير مقفلة. على سبيل المثال، يحتوي مشروع AOSP على تنفيذ مرجعي يعرض قيمة استنادًا إلى السمة ro.boot.flash.locked الخاصة بالتشغيل. يمكن العثور على نموذج الرمز في الأدلة التالية:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java