בדף הזה מוסבר על כמה משימות שעשויות להיות לכם צורך לבצע אם אתם מגדירים גרסה זמינה למכשיר שלכם.
יצירת הגדרת Flash בהתאמה אישית
ההוראות ל-Fastboot מוגדרות בארטיפקט שנקרא fastboot-info.txt
. אם תיצרו כמה יעדים, יהיו לכם כמה קובצי fastboot-info.txt
ב-$OUT_DIR. ו-$ANDROID_PRODUCT_OUT
מפנה ליעד העדכני ביותר שיצרתם. בדף הזה מפורטות המשימות ש-fastboot צריך לבצע, וניתן ליצור אותו מחדש באמצעות m fastboot_info
. כדי להוסיף לוגיקה מותאמת אישית של פלאש, משנים את הקובץ fastboot-info.txt
.
הקובץ fastboot-info.txt
תומך בפקודות הבאות:
flash %s
: איך מבצעים איפוס (flash) של מחיצה נתונה. ארגומנטים אופציונליים כוללים את הערך--slot-other,
filename_path, and
--apply-vbmeta`.update-super
: עדכון המחיצה העליונה.if-wipe
: הפעלה מותנית של רכיב אחר אם צוין מחיקה.erase %s
: מחיקה של מחיצה נתונה (אפשר להשתמש בה רק בשילוב עםif-wipe
– לדוגמה:if-wipe erase cache
).
איך בודקים את מצב נעילת הפלאש
אם אתם מפתחים דימון (daemon) בהתאמה אישית של flashboot (flashbootd) למכשיר, אתם צריכים להיות מסוגלים לקבל את תוכנת האתחול ואת מצב הנעילה של תוכנת האתחול. getFlashLockState()
@SystemApi
מעביר את מצב תוכנת האתחול, ו-PersistentDataBlockManager.getFlashLockState()
system API מחזיר את סטטוס הנעילה של תוכנת האתחול במכשירים תואמים.
הערך המוחזר | מצבים רפואיים |
---|---|
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