Konfigurationsübersicht

AOSP bietet die folgenden Optionen zum Speichern von Konfigurationsinformationen auf einem Gerät:

  • Systemattribute
  • Eigenschaften der Hardwareabstraktionsschicht (HAL)
  • XML-Dateien für die Systemkonfiguration
  • Ressourcen-Overlays (statisch und Laufzeit)

Systemattribute

Systemeigenschaften sind Schlüssel/Wert-Paare vom Typ „String“, die im globalen build.prop-Dictionary gespeichert sind. Systemeigenschaften sind systemweite Ressourcen, die einfach zu verwenden sind und einen geringen Leistungs-Overhead haben. Wenn Sie Systemattribute verwenden, ist keine Interprozesskommunikation (IPC) erforderlich, auch wenn ein Systemattribut von mehreren Prozessen gemeinsam genutzt wird. Systemeigenschaften ähneln jedoch globalen Variablen und können bei Missbrauch schädlich sein. Der Missbrauch von Systemeigenschaften kann zu Problemen wie Sicherheitslücken führen und dazu, dass Nutzer nicht mehr auf Apps zugreifen können. Bevor Sie Systemattribute zum Speichern von Konfigurationsinformationen verwenden, sollten Sie die anderen Konfigurationsoptionen in Betracht ziehen.

Weitere Informationen zu Systemeigenschaften finden Sie unter Systemeigenschaften hinzufügen.

HAL-Attribute

Wenn die Source of Truth für eine Konfiguration eine Hardwarekomponente auf einem Gerät ist, muss das HAL für die Hardware die Informationen für diese Komponente bereitstellen. Definieren Sie eine neue HAL-Methode in der vorhandenen HAL, um auf die Konfiguration zuzugreifen. Weitere Informationen zum Entwickeln eines HAL finden Sie unter AIDL für HALs.

XML-Dateien für die Systemkonfiguration

Wenn die Konfigurationsdaten statisch, aber kompliziert (strukturiert) sind, sollten Sie XML oder andere ähnliche Formate für die Konfigurationsdaten verwenden. Das Dateischema muss stabil bleiben. Für XML-Dateien können Sie xsd_config verwenden, um das Schema stabil zu halten und einen automatisch generierten XML-Parser zu nutzen.

Ressourcen-Overlay

Mit Ressourcen-Overlays können Sie ein Produkt anpassen. Es gibt zwei Arten von Ressourcen-Overlays:

  • Standard-Ressourcen-Overlay, das zum Anpassen eines Produkts zur Build-Zeit verwendet wird. Informationen zu Standard-Ressourcen-Overlays finden Sie unter Build mit Ressourcen-Overlays anpassen.

  • Mit dem Runtime Resource Overlay (RRO) werden die Ressourcenwerte eines Zielpakets zur Laufzeit geändert. Eine im Systemimage installierte App kann beispielsweise ihr Verhalten basierend auf dem Wert einer Ressource ändern. Anstatt den Ressourcenwert zur Build-Zeit fest zu codieren, kann ein RRO, das auf einer anderen Partition installiert ist, die Werte der App-Ressourcen zur Laufzeit ändern. Weitere Informationen zu RROs finden Sie unter Den Wert der Ressourcen einer App zur Laufzeit ändern.