בדף הזה מוסברות כמה משימות שאולי תצטרכו לבצע אם אתם מגדירים build למכשיר שלכם.
יצירת הגדרות מותאמות אישית של 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
: מפעיל הבזקה של מחיצה נתונה. הארגומנטים האופציונליים כוללים את--slot-other,
filename_path, and
--apply-vbmeta. -
update-super
: עדכון של מחיצת העל. -
if-wipe
: מריץ באופן מותנה רכיב אחר אם צוין ניקוי. -
erase %s
: מוחק מחיצה נתונה (אפשר להשתמש בה רק בשילוב עםif-wipe
-> למשל,if-wipe erase cache
).
קביעת מצב נעילת הפלאש
אם אתם יוצרים flashboot daemon (flashbootd) בהתאמה אישית למכשיר, אתם צריכים להיות מסוגלים לקבל את תוכנת האתחול ואת מצב הנעילה של תוכנת האתחול. getFlashLockState()
@SystemApi
מעביר את מצב תוכנת האתחול, וממשק ה-API של מערכת 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