ב-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, ראו שינוי הערך של משאבי האפליקציה בזמן הריצה.