Konfigurationsübersicht

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

  • Systemeigenschaften
  • Eigenschaften der Hardware Abstraction Layer (HAL)
  • Systemkonfigurations-XML-Dateien
  • Ressourcen-Overlays (statisch und Laufzeit)

Systemeigenschaften

Systemeigenschaften sind String-Schlüssel/Wert-Paare, die im globalen Wörterbuch build.prop gespeichert sind. Systemattribute sind systemweite Ressourcen, die einfach zu verwenden sind und einen geringen Leistungsaufwand haben. Wenn Sie Systemeigenschaften verwenden, müssen Sie keine Inter-Process-Kommunikation (IPC) verwenden, auch wenn eine Systemeigenschaft für mehrere Prozesse freigegeben wird. Systemeigenschaften ähneln jedoch globalen Variablen und können bei unsachgemäßer Verwendung schädlich sein. Der Missbrauch von Systemeigenschaften kann zu Problemen wie Sicherheitslücken und zu Apps führen, die für Nutzer nicht mehr zugänglich sind. Bevor Sie Konfigurationsinformationen in Systemeigenschaften speichern, sollten Sie die anderen Konfigurationsoptionen in Betracht ziehen.

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

HAL-Eigenschaften

Wenn die „Source of Truth“ für eine Konfiguration von einer Hardwarekomponente auf einem Gerät stammt, muss die HAL für die Hardware die Informationen für diese Komponente bereitstellen. Definieren Sie in der vorhandenen HAL eine neue HAL-Methode für den Zugriff auf die Konfiguration. Weitere Informationen zur Entwicklung einer HAL finden Sie unter AIDL für HALs.

XML-Dateien der Systemkonfiguration

Wenn die Konfigurationsdaten statisch, aber kompliziert (strukturiert) sind, sollten Sie XML oder andere ähnliche 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

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

  • Standard-Ressourcen-Overlay, das verwendet wird, um ein Produkt bei der Build-Erstellung anzupassen. Weitere Informationen zu Standard-Ressourcen-Overlays finden Sie unter Build mit Ressourcen-Overlays anpassen.

  • Mit dem Laufzeit-Ressourcen-Overlay (RRO) können die Ressourcenwerte eines Zielpakets zur Laufzeit geändert werden. Beispielsweise kann eine auf dem System-Image installierte App ihr Verhalten basierend auf dem Wert einer Ressource ändern. Anstatt den Ressourcenwert zur Buildzeit hartzucodieren, kann ein auf einer anderen Partition installiertes RRO die Werte der App-Ressourcen zur Laufzeit ändern. Weitere Informationen zu RROs finden Sie unter Wert der Ressourcen einer App zur Laufzeit ändern.