בדף הזה מוסבר על כמה משימות שאולי תצטרכו לבצע אם אתם מגדירים גרסת 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.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java