يوفّر AOSP الخيارات التالية لتخزين معلومات الإعدادات على جهاز:
- سمات النظام
- خصائص "طبقة تجريد الأجهزة" (HAL)
- ملفات XML لإعدادات النظام
- تراكبات الموارد (الثابتة وفي وقت التشغيل)
سمات النظام
خصائص النظام هي أزواج مفاتيح/قيم من السلاسل يتم تخزينها في القاموس العام build.prop. سمات النظام هي موارد على مستوى النظام يسهل استخدامها ولا تؤثر بشكل كبير في الأداء. عند استخدام سمات النظام، لن تحتاج إلى استخدام عملية الاتصال بين العمليات (IPC) حتى إذا كانت إحدى سمات النظام مشترَكة بين عمليات متعددة. ومع ذلك، تشبه خصائص النظام المتغيّرات العامة، ويمكن أن تكون ضارة عند إساءة استخدامها. يمكن أن يؤدي إساءة استخدام خصائص النظام إلى حدوث مشاكل، مثل الثغرات الأمنية وعدم إمكانية وصول المستخدمين إلى التطبيقات. قبل استخدام خصائص النظام لتخزين معلومات الإعداد، ننصحك بالاطّلاع على خيارات الإعداد الأخرى.
لمزيد من المعلومات حول سمات النظام، راجِع إضافة سمات النظام
خصائص HAL
عندما يكون مصدر صحة الإعدادات هو أحد مكونات الجهاز، يجب أن توفّر طبقة تجريد الأجهزة (HAL) معلومات هذا المكوّن. حدِّد طريقة HAL جديدة في HAL الحالي للوصول إلى الإعداد. لمزيد من المعلومات حول تطوير طبقة تجريد الأجهزة (HAL)، يُرجى الاطّلاع على لغة تعريف واجهة Android (AIDL) لطبقات تجريد الأجهزة.
ملفات XML لإعدادات النظام
عندما تكون بيانات الإعداد ثابتة ولكنها معقّدة (منظَّمة)، ننصحك باستخدام XML أو تنسيقات أخرى مشابهة لبيانات الإعداد. تأكَّد من أنّ مخطط الملف يظل ثابتًا. بالنسبة إلى ملفات XML، يمكنك استخدام
xsd_config
للحفاظ على ثبات المخطط، والاستفادة من محلّل XML يتم إنشاؤه تلقائيًا.
تراكب الموارد
يمكنك استخدام تراكبات الموارد لتخصيص منتج. هناك نوعان من تراكبات الموارد:
تراكب الموارد العادي المستخدَم لتخصيص منتج في وقت الإنشاء لمزيد من المعلومات حول تراكبات الموارد العادية، راجِع مقالة تخصيص الإصدار باستخدام تراكبات الموارد.
يُستخدَم تراكب مورد وقت التشغيل (RRO) لتغيير قيم الموارد لحزمة مستهدَفة في وقت التشغيل. على سبيل المثال، قد يغيّر تطبيق مثبَّت على صورة النظام سلوكه استنادًا إلى قيمة أحد الموارد. بدلاً من الترميز الثابت لقيمة المورد في وقت الإنشاء، يمكن أن يغيّر RRO مثبَّت على قسم مختلف قيم موارد التطبيق في وقت التشغيل. لمزيد من المعلومات حول RRO، راجِع تغيير قيمة موارد التطبيق في وقت التشغيل.