Przegląd konfiguracji

AOSP oferuje następujące opcje przechowywania informacji konfiguracyjnych na urządzeniu:

  • Właściwości systemu
  • Właściwości warstwy abstrakcji sprzętu (HAL).
  • Pliki XML konfiguracji systemu
  • Nakładki zasobów (statyczne i wykonawcze)

Właściwości systemu

Właściwości systemu to pary klucz/wartość ciągów przechowywane w słowniku globalnym build.prop . Właściwości systemu to zasoby ogólnosystemowe, łatwe w użyciu i charakteryzujące się niskim obciążeniem wydajnościowym. Korzystając z właściwości systemu, nie trzeba używać komunikacji międzyprocesowej (IPC), nawet jeśli właściwość systemu jest współdzielona przez wiele procesów. Jednakże właściwości systemu są podobne do zmiennych globalnych i mogą być szkodliwe w przypadku niewłaściwego użycia. Niewłaściwe użycie właściwości systemu może spowodować problemy, takie jak luki w zabezpieczeniach i aplikacje, które staną się niedostępne dla użytkowników. Przed użyciem właściwości systemu do przechowywania informacji konfiguracyjnych należy rozważyć inne opcje konfiguracyjne.

Aby uzyskać więcej informacji na temat właściwości systemu, zobacz Dodawanie właściwości systemu

Właściwości HAL-a

Jeśli źródłem prawdy konfiguracji jest komponent sprzętowy urządzenia, warstwa HAL sprzętu musi dostarczać informacji o tym komponencie. Zdefiniuj nową metodę HAL w istniejącej warstwie HAL w celu uzyskania dostępu do konfiguracji. Więcej informacji na temat tworzenia warstwy HAL można znaleźć w artykule AIDL dla warstw HAL .

Pliki XML konfiguracji systemu

Jeśli dane konfiguracyjne są statyczne, ale skomplikowane (ustrukturyzowane), rozważ użycie XML lub innych tego typu formatów dla danych konfiguracyjnych. Upewnij się, że schemat pliku pozostaje stabilny. W przypadku plików XML możesz użyć xsd_config , aby zachować stabilność schematu i skorzystać z automatycznie generowanego parsera XML.

Nakładka zasobów

Możesz użyć nakładek zasobów, aby dostosować produkt. Istnieją dwa typy nakładek zasobów:

  • Standardowa nakładka zasobów używana do dostosowywania produktu w czasie kompilacji. Informacje na temat standardowych nakładek zasobów można znaleźć w sekcji Dostosowywanie kompilacji za pomocą nakładek zasobów .

  • Nakładka zasobów środowiska wykonawczego (RRO) służy do zmiany wartości zasobów pakietu docelowego w czasie wykonywania. Na przykład aplikacja zainstalowana w obrazie systemu może zmienić swoje zachowanie w zależności od wartości zasobu. Zamiast kodować na stałe wartość zasobu w czasie kompilacji, RRO zainstalowane na innej partycji może zmienić wartości zasobów aplikacji w czasie wykonywania. Aby uzyskać więcej informacji na temat RRO, zobacz temat Zmiana wartości zasobów aplikacji w czasie wykonywania .

,

AOSP oferuje następujące opcje przechowywania informacji konfiguracyjnych na urządzeniu:

  • Właściwości systemu
  • Właściwości warstwy abstrakcji sprzętu (HAL).
  • Pliki XML konfiguracji systemu
  • Nakładki zasobów (statyczne i wykonawcze)

Właściwości systemu

Właściwości systemu to pary klucz/wartość ciągów przechowywane w słowniku globalnym build.prop . Właściwości systemu to zasoby ogólnosystemowe, łatwe w użyciu i charakteryzujące się niskim obciążeniem wydajnościowym. Korzystając z właściwości systemu, nie trzeba używać komunikacji międzyprocesowej (IPC), nawet jeśli właściwość systemu jest współdzielona przez wiele procesów. Jednakże właściwości systemu są podobne do zmiennych globalnych i mogą być szkodliwe w przypadku niewłaściwego użycia. Niewłaściwe użycie właściwości systemu może spowodować problemy, takie jak luki w zabezpieczeniach i aplikacje, które staną się niedostępne dla użytkowników. Przed użyciem właściwości systemu do przechowywania informacji konfiguracyjnych należy rozważyć inne opcje konfiguracyjne.

Aby uzyskać więcej informacji na temat właściwości systemu, zobacz Dodawanie właściwości systemu

Właściwości HAL-a

Jeśli źródłem prawdy konfiguracji jest komponent sprzętowy urządzenia, warstwa HAL sprzętu musi dostarczać informacji o tym komponencie. Zdefiniuj nową metodę HAL w istniejącej warstwie HAL w celu uzyskania dostępu do konfiguracji. Więcej informacji na temat tworzenia warstwy HAL można znaleźć w artykule AIDL dla warstw HAL .

Pliki XML konfiguracji systemu

Jeśli dane konfiguracyjne są statyczne, ale skomplikowane (ustrukturyzowane), rozważ użycie XML lub innych tego typu formatów dla danych konfiguracyjnych. Upewnij się, że schemat pliku pozostaje stabilny. W przypadku plików XML możesz użyć xsd_config , aby zachować stabilność schematu i skorzystać z automatycznie generowanego parsera XML.

Nakładka zasobów

Możesz użyć nakładek zasobów, aby dostosować produkt. Istnieją dwa typy nakładek zasobów:

  • Standardowa nakładka zasobów używana do dostosowywania produktu w czasie kompilacji. Informacje na temat standardowych nakładek zasobów można znaleźć w sekcji Dostosowywanie kompilacji za pomocą nakładek zasobów .

  • Nakładka zasobów środowiska wykonawczego (RRO) służy do zmiany wartości zasobów pakietu docelowego w czasie wykonywania. Na przykład aplikacja zainstalowana w obrazie systemu może zmienić swoje zachowanie w zależności od wartości zasobu. Zamiast kodować na stałe wartość zasobu w czasie kompilacji, RRO zainstalowane na innej partycji może zmienić wartości zasobów aplikacji w czasie wykonywania. Aby uzyskać więcej informacji na temat RRO, zobacz temat Zmiana wartości zasobów aplikacji w czasie wykonywania .