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