Konfigurationsübersicht

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

  • Systemeigenschaften
  • Eigenschaften der Hardwareabstraktionsschicht (Hardware Abstraction Layer, HAL)
  • XML-Dateien für die Systemkonfiguration
  • Ressourcen-Overlays (statisch und Laufzeit)

Systemeigenschaften

Systemeigenschaften sind Schlüssel/Wert-Paare vom Typ String, die im globalen build.prop-Wörterbuch gespeichert sind. Systemeigenschaften sind systemweite Ressourcen, die einfach zu verwenden sind und nur einen geringen Leistungsaufwand verursachen. Wenn Sie Systemeigenschaften verwenden, ist keine Interprozesskommunikation (Inter-Process Communication, IPC) erforderlich, auch wenn eine Systemeigenschaft 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 Apps für Nutzer nicht mehr zugänglich sind. Bevor Sie Systemeigenschaften zum Speichern von Konfigurationsinformationen verwenden, sollten Sie die anderen Konfigurationsoptionen in Betracht ziehen.

Weitere Informationen zu Systemeigenschaften finden Sie unter Systemeigenschaften hinzufügen

HAL-Eigenschaften

Wenn die Quelle der Wahrheit für eine Konfiguration eine Hardwarekomponente auf einem Gerät ist, muss die 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 einer 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 Formate für die Konfigurationsdaten verwenden. Achten Sie darauf, dass das Dateischema stabil bleibt. 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 zum Anpassen eines Produkts zur Build-Zeit. Informationen zu Standard-Ressourcen-Overlays finden Sie unter Build mit Ressourcen-Overlays anpassen.

  • Laufzeit-Ressourcen-Overlay (Runtime Resource Overlay, RRO) zum Ändern der Ressourcenwerte eines Zielpakets zur Laufzeit. Beispielsweise kann eine im Systemimage installierte App 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 Ressourcen der App zur Laufzeit ändern. Weitere Informationen zu RROs finden Sie unter Wert der Ressourcen einer App zur Laufzeit ändern.