AOSP bietet die folgenden Möglichkeiten zum Speichern von Konfigurationsinformationen auf einem Gerät:
- Systemeigenschaften
- Eigenschaften der Hardware-Abstraktionsschicht (HAL).
- Systemkonfigurations-XML-Dateien
- Ressourcen-Overlays (statisch und Laufzeit)
Systemeigenschaften
Systemeigenschaften sind Zeichenfolgen-Schlüssel/Wert-Paare, die im globalen Wörterbuch build.prop
gespeichert sind. Systemeigenschaften sind systemweite Ressourcen, die einfach zu verwenden sind und einen geringen Leistungsaufwand verursachen. Wenn Sie Systemeigenschaften verwenden, müssen Sie keine Interprozesskommunikation (IPC) verwenden, selbst 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 führen, dass Apps für Benutzer nicht mehr zugänglich sind. Bevor Sie Systemeigenschaften zum Speichern von Konfigurationsinformationen verwenden, sollten Sie die anderen Konfigurationsoptionen berücksichtigen.
Weitere Informationen zu Systemeigenschaften finden Sie unter Systemeigenschaften hinzufügen
HAL-Eigenschaften
Wenn die Quelle der Wahrheit für eine Konfiguration von einer Hardwarekomponente auf einem Gerät stammt, muss der HAL für die Hardware die Informationen für diese Komponente bereitstellen. Definieren Sie im bestehenden HAL eine neue HAL-Methode für den Zugriff auf die Konfiguration. Weitere Informationen zur Entwicklung eines HAL finden Sie unter AIDL für HALs .
Systemkonfigurations-XML-Dateien
Wenn die Konfigurationsdaten statisch, aber kompliziert (strukturiert) sind, sollten Sie die Verwendung von XML oder anderen Formaten für die Konfigurationsdaten in Betracht ziehen. Stellen Sie sicher, dass das Dateischema stabil bleibt. Für XML-Dateien können Sie xsd_config
verwenden, um das Schema stabil zu halten und die Vorteile eines automatisch generierten XML-Parsers zu nutzen.
Ressourcen-Overlay
Sie können Ressourcen-Overlays verwenden, um ein Produkt anzupassen. Es gibt zwei Arten von Ressourcen-Overlays:
Standardressourcen-Overlay, das zum Anpassen eines Produkts zur Erstellungszeit verwendet wird. Weitere Informationen zu Standard-Ressourcen-Overlays finden Sie unter Anpassen des Builds mit Ressourcen-Overlays .
Runtime Resource Overlay (RRO) wird verwendet, um die Ressourcenwerte eines Zielpakets zur Laufzeit zu ändern. Beispielsweise könnte eine auf dem Systemabbild installierte App ihr Verhalten basierend auf dem Wert einer Ressource ändern. Anstatt den Ressourcenwert zur Erstellungszeit fest zu codieren, kann ein auf einer anderen Partition installiertes RRO die Werte der Ressourcen der App zur Laufzeit ändern. Weitere Informationen zu RROs finden Sie unter Ändern des Werts der Ressourcen einer App zur Laufzeit .
AOSP bietet die folgenden Möglichkeiten zum Speichern von Konfigurationsinformationen auf einem Gerät:
- Systemeigenschaften
- Eigenschaften der Hardware-Abstraktionsschicht (HAL).
- Systemkonfigurations-XML-Dateien
- Ressourcen-Overlays (statisch und Laufzeit)
Systemeigenschaften
Systemeigenschaften sind Zeichenfolgen-Schlüssel/Wert-Paare, die im globalen Wörterbuch build.prop
gespeichert sind. Systemeigenschaften sind systemweite Ressourcen, die einfach zu verwenden sind und einen geringen Leistungsaufwand verursachen. Wenn Sie Systemeigenschaften verwenden, müssen Sie keine Interprozesskommunikation (IPC) verwenden, selbst 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 führen, dass Apps für Benutzer nicht mehr zugänglich sind. Bevor Sie Systemeigenschaften zum Speichern von Konfigurationsinformationen verwenden, sollten Sie die anderen Konfigurationsoptionen berücksichtigen.
Weitere Informationen zu Systemeigenschaften finden Sie unter Systemeigenschaften hinzufügen
HAL-Eigenschaften
Wenn die Quelle der Wahrheit für eine Konfiguration von einer Hardwarekomponente auf einem Gerät stammt, muss der HAL für die Hardware die Informationen für diese Komponente bereitstellen. Definieren Sie im bestehenden HAL eine neue HAL-Methode für den Zugriff auf die Konfiguration. Weitere Informationen zur Entwicklung eines HAL finden Sie unter AIDL für HALs .
Systemkonfigurations-XML-Dateien
Wenn die Konfigurationsdaten statisch, aber kompliziert (strukturiert) sind, sollten Sie die Verwendung von XML oder anderen Formaten für die Konfigurationsdaten in Betracht ziehen. Stellen Sie sicher, dass das Dateischema stabil bleibt. Für XML-Dateien können Sie xsd_config
verwenden, um das Schema stabil zu halten und die Vorteile eines automatisch generierten XML-Parsers zu nutzen.
Ressourcen-Overlay
Sie können Ressourcen-Overlays verwenden, um ein Produkt anzupassen. Es gibt zwei Arten von Ressourcen-Overlays:
Standardressourcen-Overlay, das zum Anpassen eines Produkts zur Erstellungszeit verwendet wird. Weitere Informationen zu Standard-Ressourcen-Overlays finden Sie unter Anpassen des Builds mit Ressourcen-Overlays .
Runtime Resource Overlay (RRO) wird verwendet, um die Ressourcenwerte eines Zielpakets zur Laufzeit zu ändern. Beispielsweise könnte eine auf dem Systemabbild installierte App ihr Verhalten basierend auf dem Wert einer Ressource ändern. Anstatt den Ressourcenwert zur Erstellungszeit fest zu codieren, kann ein auf einer anderen Partition installiertes RRO die Werte der Ressourcen der App zur Laufzeit ändern. Weitere Informationen zu RROs finden Sie unter Ändern des Werts der Ressourcen einer App zur Laufzeit .