פיתוח מכשירים בהתאמה אישית

בדף הזה מוסבר על כמה משימות שעשויות להיות לכם צורך לבצע אם אתם מגדירים גרסה זמינה למכשיר שלכם.

יצירת הגדרת 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 ואילך, ולא תמכו בעבר בשינויים בתוכנת האתחול הנדרשים כדי לקבל את סטטוס הנעילה באמצעות הפלאש, אם הם תמכו ביכולת נעילה/ביטול נעילה באמצעות הפלאש.
  • מכשירים חדשים עם Android מגרסה 7.x ואילך חייבים להיות במצב FLASH_LOCK_LOCKED או FLASH_LOCK_UNLOCKED.
  • מכשירים שעוברים שדרוג ל-Android 7.x ואילך ולא תומכים ביכולת של ביטול נעילה/נעילה באמצעות פלאש, אמורים להחזיר את המצב FLASH_LOCK_LOCKED.
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