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