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