סקירה כללית על ההגדרות

ב-AOSP יש את האפשרויות הבאות לשמירת פרטי ההגדרה במכשיר:

  • מאפייני מערכת
  • מאפיינים של שיטת הפשטת חומרה (HAL)
  • קובצי XML של הגדרות המערכת
  • שכבות-על של משאבים (סטטיות ובזמן ריצה)

מאפייני מערכת

מאפייני מערכת הם צמדי מפתח/ערך של מחרוזות שמאוחסנים במילון הגלובלי build.prop. מאפייני מערכת הם משאבים ברמת המערכת שקל להשתמש בהם, והם גורמים לירידה נמוכה בביצועים. כשמשתמשים במאפייני מערכת, אין צורך להשתמש בתקשורת בין תהליכים (IPC) גם אם מאפיין מערכת משותף לכמה תהליכים. עם זאת, מאפייני המערכת דומים למשתנים גלובליים, והם עלולים להזיק אם משתמשים בהם בצורה שגויה. שימוש לרעה בנכסי המערכת עלול לגרום לבעיות כמו נקודות חולשה באבטחה והגבלת הגישה של המשתמשים לאפליקציות. לפני שמשתמשים במאפייני המערכת כדי לאחסן את פרטי ההגדרה, כדאי לשקול את אפשרויות ההגדרה האחרות.

מידע נוסף על מאפייני מערכת זמין במאמר הוספת מאפייני מערכת.

מאפייני HAL

כשמקור האמת של הגדרה הוא מרכיב חומרה במכשיר, ה-HAL של החומרה צריך לספק את המידע לגבי הרכיב הזה. מגדירים ב-HAL הקיים שיטה חדשה ל-HAL כדי לגשת להגדרות. מידע נוסף על פיתוח HAL זמין במאמר AIDL ל-HALs.

קובצי XML של הגדרות המערכת

כשנתוני התצורה סטטיים אבל מורכבים (מבוססי-מבנה), מומלץ להשתמש ב-XML או בפורמטים דומים אחרים לנתוני התצורה. מוודאים שהסכימה של הקובץ נשארת יציבה. בקובצי XML, אפשר להשתמש ב-xsd_config כדי לשמור על יציבות הסכימה וליהנות מנתח XML שנוצר באופן אוטומטי.

שכבת-על של משאבים

אפשר להשתמש בשכבות-על של משאבים כדי להתאים אישית מוצר. יש שני סוגים של שכבות-על של משאבים:

  • שכבת-על רגילה של משאבים שמשמשת להתאמה אישית של מוצר בזמן ה-build. למידע נוסף על שכבות-על רגילות של משאבים, ראו התאמה אישית של ה-build באמצעות שכבות-על של משאבים.

  • שכבת-על של משאבים בסביבת זמן ריצה (RRO) משמשת לשינוי ערכי המשאבים של חבילת יעד בסביבת זמן ריצה. לדוגמה, אפליקציה שמותקנת בקובץ האימג' של המערכת עשויה לשנות את ההתנהגות שלה על סמך הערך של משאב. במקום להטמיע את ערך המשאב בזמן ה-build, קובץ RRO שמותקן במחיצה אחרת יכול לשנות את הערכים של משאבי האפליקציה בזמן הריצה. למידע נוסף על קובצי RRO, ראו שינוי הערך של משאבי האפליקציה בזמן הריצה.