Обзор конфигурации

AOSP предлагает следующие варианты хранения информации о конфигурации на устройстве:

  • Свойства системы
  • Свойства уровня аппаратной абстракции (HAL)
  • XML-файлы конфигурации системы
  • Наложения ресурсов (статические и во время выполнения)

Свойства системы

Системные свойства — это пары строк «ключ/значение», хранящиеся в глобальном словаре build.prop . Системные свойства — это общесистемные ресурсы, которые просты в использовании и имеют низкую нагрузку на производительность. При использовании системных свойств вам не нужно использовать межпроцессное взаимодействие (IPC), даже если системное свойство используется несколькими процессами. Однако системные свойства похожи на глобальные переменные и могут быть вредны при неправильном использовании. Неправильное использование системных свойств может привести к таким проблемам, как уязвимости безопасности и недоступность приложений для пользователей. Перед использованием системных свойств для хранения информации о конфигурации рассмотрите другие параметры конфигурации.

Дополнительную информацию о свойствах системы см. в разделе Добавление свойств системы.

Свойства HAL

Когда источником истины для конфигурации является аппаратный компонент на устройстве, HAL для оборудования должен предоставлять информацию для этого компонента. Определите новый метод HAL в существующем HAL для доступа к конфигурации. Для получения дополнительной информации о разработке HAL см. AIDL для HAL .

XML-файлы конфигурации системы

Если данные конфигурации статичны, но сложны (структурированы), рассмотрите возможность использования XML или других подобных форматов для данных конфигурации. Убедитесь, что схема файла остается стабильной. Для файлов XML можно использовать xsd_config , чтобы сохранить стабильность схемы и воспользоваться автоматически сгенерированным парсером XML.

Наложение ресурсов

Вы можете использовать наложения ресурсов для настройки продукта. Существует два типа наложений ресурсов:

  • Стандартный ресурсный оверлей используется для настройки продукта во время сборки. Для получения информации о стандартных ресурсных оверлеях см. Настройка сборки с ресурсными оверлеями .

  • Наложение ресурсов времени выполнения (RRO) используется для изменения значений ресурсов целевого пакета во время выполнения. Например, приложение, установленное на образе системы, может изменить свое поведение в зависимости от значения ресурса. Вместо того, чтобы жестко кодировать значение ресурса во время сборки, RRO, установленный на другом разделе, может изменять значения ресурсов приложения во время выполнения. Для получения дополнительной информации о RRO см. Изменение значения ресурсов приложения во время выполнения .