توضّح هذه الصفحة عدة مهام قد تحتاج إلى تنفيذها إذا كنت بصدد إعداد إصدار لجهازك.
إنشاء إعدادات مخصّصة للفلاش
يتم تحديد تعليمات 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).
تحديد حالة قفل الفلاش
إذا كنت بصدد إنشاء برنامج flashbootd مخصّص لجهاز، يجب أن تكون قادرًا على الحصول على برنامج الإقلاع وحالة قفل برنامج الإقلاع. تنقل
getFlashLockState() @SystemApi حالة برنامج الإقلاع
، وتعرض PersistentDataBlockManager.getFlashLockState() واجهة برمجة التطبيقات
حالة قفل برنامج الإقلاع على الأجهزة المتوافقة.
| عرض القيمة | الشروط |
|---|---|
FLASH_LOCK_UNKNOWN |
لا يتم عرض هذه القيمة إلا على الأجهزة التي يتم ترقيتها إلى الإصدار 7.x من Android أو إصدار أحدث والتي لم تكن متوافقة سابقًا مع التغييرات المطلوبة في برنامج الإقلاع للحصول على حالة قفل تثبيت ذاكرة ROM إذا كانت متوافقة مع إمكانية قفل تثبيت ذاكرة ROM وفتح قفله.
|
FLASH_LOCK_LOCKED |
يتم عرض هذه القيمة على أي جهاز لا يتوافق مع إمكانية قفل الفلاش وفتح قفله (أي أنّ الجهاز يكون مقفلاً دائمًا)، أو أي جهاز يتوافق مع إمكانية قفل الفلاش وفتح قفله ويكون في الحالة المقفلة. |
FLASH_LOCK_UNLOCKED |
يتم عرض هذه القيمة على أي جهاز يتوافق مع إمكانية قفل الفلاش وفتح قفله ويكون في الحالة غير المقفلة. |
على الشركات المصنّعة اختبار القيم التي تعرضها الأجهزة التي تحتوي على برامج إقلاع مقفلة وغير مقفلة. على سبيل المثال، يحتوي مشروع Android مفتوح المصدر (AOSP) على تنفيذ مرجعي يعرض قيمة استنادًا إلى سمة الإقلاع ro.boot.flash.locked. يقع نموذج الرمز في الأدلة التالية:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java