החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
פיתוח מכשירים בהתאמה אישית
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מוסבר על כמה משימות שעשויות להיות לכם צורך לבצע אם אתם מגדירים גרסה זמינה למכשיר שלכם.
יצירת הגדרת 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
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Custom device development\n\nThis page explains several tasks you might need to perform if you're\nsetting up a build for your own device.\n\nCreate a custom flash configuration\n-----------------------------------\n\nFastboot instructions are defined in an artifact called `fastboot-info.txt`. If\nyou build multiple targets, you'll have multiple `fastboot-info.txt` files in\nthe \u003cvar translate=\"no\"\u003e$OUT_DIR\u003c/var\u003e. And, `$ANDROID_PRODUCT_OUT` points to the\nmost current target you built. This page list the tasks for fastboot to execute\nand can be regenerated using `m fastboot_info`. You can introduce custom\nflashing logic by modifying the `fastboot-info.txt` file.\n\nThe `fastboot-info.txt` file supports these commands:\n\n- `flash %s`: Flashes a given partition. Optional arguments include `--slot-other,`\u003cvar translate=\"no\"\u003efilename_path\u003c/var\u003e`, and`--apply-vbmeta\\`.\n- `update-super`: Updates the super partition.\n- `if-wipe`: Conditionally runs some other component if a wipe is specified.\n- `erase %s`: Erases a given partition (can only be used in conjunction with `if-wipe` -\\\u003e eg. `if-wipe erase cache`).\n\nDetermine flash lock state\n--------------------------\n\nIf you're building a custom flashboot daemon (flashbootd) for a device, you need\nto be able to obtain bootloader and bootloader lock state. The\n`getFlashLockState()` `@SystemApi` transmits the bootloader\nstate and the `PersistentDataBlockManager.getFlashLockState()` system\nAPI returns the bootloader's lock status on compliant devices.\n\n| Return value | Conditions |\n|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `FLASH_LOCK_UNKNOWN` | Returned only by devices upgrading to Android 7.x or higher that didn't previously support the bootloader changes required to get the flash lock status if they supported flashing lock/unlock capability. - New devices running Android 7.x or higher must be in either a `FLASH_LOCK_LOCKED` or `FLASH_LOCK_UNLOCKED` state. - Devices upgrading to Android 7.x or higher that don't support flashing unlock/lock capability should return a `FLASH_LOCK_LOCKED` state. |\n| `FLASH_LOCK_LOCKED` | Returned by any device that doesn't support flashing lock/unlock (that is, the device is always locked), or any device that supports flashing lock/unlock and is in the locked state. |\n| `FLASH_LOCK_UNLOCKED` | Returned by any device that supports flashing lock/unlock and is in the unlocked state. |\n\nManufacturers should test the values returned by devices with locked and\nunlocked bootloaders. For example, AOSP\ncontains a reference implementation that returns a value based on the\n`ro.boot.flash.locked` boot property. Example code is located in the\nfollowing directories:\n\n- `frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java`\n- `frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java`"]]