AOSP گزینه های زیر را برای ذخیره اطلاعات پیکربندی در یک دستگاه ارائه می دهد:
- ویژگی های سیستم
- ویژگی های لایه انتزاعی سخت افزاری (HAL).
- فایل های XML پیکربندی سیستم
- همپوشانی منابع (استاتیک و زمان اجرا)
ویژگی های سیستم
ویژگی های سیستم جفت های کلید/مقدار رشته ای هستند که در فرهنگ لغت جهانی build.prop
ذخیره شده اند. ویژگی های سیستم منابعی در سطح سیستم هستند که استفاده آسان و سربار عملکرد پایینی دارند. هنگام استفاده از ویژگی های سیستم، نیازی به استفاده از ارتباطات بین فرآیندی (IPC) ندارید، حتی اگر یک ویژگی سیستم در چندین فرآیند به اشتراک گذاشته شود. با این حال، ویژگیهای سیستم مشابه متغیرهای سراسری هستند و در صورت استفاده نادرست میتوانند مضر باشند. استفاده نادرست از ویژگی های سیستم می تواند منجر به مشکلاتی مانند آسیب پذیری های امنیتی و غیرقابل دسترس شدن برنامه ها برای کاربران شود. قبل از استفاده از ویژگی های سیستم برای ذخیره اطلاعات پیکربندی، سایر گزینه های پیکربندی را در نظر بگیرید.
برای اطلاعات بیشتر در مورد ویژگی های سیستم، به افزودن ویژگی های سیستم مراجعه کنید
خواص HAL
هنگامی که منبع حقیقت برای یک پیکربندی از یک جزء سخت افزاری در یک دستگاه باشد، HAL برای سخت افزار باید اطلاعات آن جزء را ارائه دهد. یک روش HAL جدید در HAL موجود برای دسترسی به پیکربندی تعریف کنید. برای اطلاعات بیشتر در مورد ایجاد HAL، به AIDL برای HAL مراجعه کنید.
فایل های XML پیکربندی سیستم
وقتی دادههای پیکربندی ثابت اما پیچیده (ساختیافته) هستند، استفاده از XML یا فرمتهای دیگر را برای دادههای پیکربندی در نظر بگیرید. مطمئن شوید که طرح فایل ثابت باقی می ماند. برای فایلهای XML، میتوانید از xsd_config
استفاده کنید تا طرحواره را ثابت نگه دارید، و از مزیت تجزیهکننده XML خود تولید شده استفاده کنید.
پوشش منابع
میتوانید از پوششهای منابع برای سفارشیسازی یک محصول استفاده کنید. دو نوع همپوشانی منابع وجود دارد:
پوشش منابع استاندارد برای سفارشی کردن یک محصول در زمان ساخت استفاده می شود. اطلاعات Foris در مورد همپوشانی های منابع استاندارد، به سفارشی سازی ساخت با پوشش های منابع مراجعه کنید.
پوشش منبع زمان اجرا (RRO) برای تغییر مقادیر منابع بسته هدف در زمان اجرا استفاده می شود. به عنوان مثال، یک برنامه نصب شده روی تصویر سیستم ممکن است رفتار خود را بر اساس مقدار یک منبع تغییر دهد. به جای اینکه مقدار منبع را در زمان ساخت کدگذاری کند، یک RRO نصب شده روی یک پارتیشن متفاوت می تواند مقادیر منابع برنامه را در زمان اجرا تغییر دهد. برای اطلاعات بیشتر در مورد RRO ها، به تغییر مقدار منابع برنامه در زمان اجرا مراجعه کنید.