AOSP oferuje te opcje przechowywania informacji o konfiguracji na urządzeniu:
- Właściwości systemowe
- Właściwości warstwy abstrakcji sprzętowej (HAL)
- Pliki XML konfiguracji systemu
- Nakładki zasobów (statyczne i środowiska wykonawczego)
Właściwości systemowe
Właściwości systemowe to pary klucz-wartość w postaci ciągów znaków przechowywane w globalnym słowniku build.prop. Właściwości systemowe to zasoby systemowe, które są łatwe w użyciu i mają niewielki wpływ na wydajność. Gdy używasz właściwości systemowych, nie musisz korzystać z komunikacji międzyprocesowej (IPC), nawet jeśli właściwość systemowa jest współdzielona przez wiele procesów. Właściwości systemowe są jednak podobne do zmiennych globalnych i mogą być szkodliwe, jeśli są używane nieprawidłowo. Nieprawidłowe użycie właściwości systemowych może powodować problemy, takie jak luki w zabezpieczeniach i niedostępność aplikacji dla użytkowników. Zanim zaczniesz używać właściwości systemowych do przechowywania informacji o konfiguracji, rozważ inne opcje konfiguracji.
Więcej informacji o właściwościach systemowych znajdziesz w artykule Dodawanie właściwości systemowych.
Właściwości HAL
Jeśli źródłem informacji o konfiguracji jest komponent sprzętowy na urządzeniu, HAL tego sprzętu musi dostarczać informacje o tym komponencie. Zdefiniuj nową metodę HAL w istniejącym HAL, aby uzyskać dostęp do konfiguracji. Więcej informacji o tworzeniu HAL znajdziesz w artykule AIDL dla HAL.
Pliki XML konfiguracji systemu
Jeśli dane konfiguracyjne są statyczne, ale złożone (uporządkowane), rozważ użycie formatu XML lub innego podobnego formatu. Upewnij się, że schemat pliku pozostaje stabilny. W przypadku plików XML możesz użyć
xsd_config
aby zachować stabilność schematu i korzystać z automatycznie generowanego parsera XML.
Nakładka zasobów
Do dostosowywania produktu możesz używać nakładek zasobów. Dostępne są 2 typy nakładek zasobów:
Standardowa nakładka zasobów służy do dostosowywania produktu w czasie kompilacji. Więcej informacji o standardowych nakładkach zasobów znajdziesz w artykule 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 zmieniać swoje działanie w zależności od wartości zasobu. Zamiast na stałe kodować wartość zasobu w czasie kompilacji, RRO zainstalowany na innej partycji może zmieniać wartości zasobów aplikacji w czasie wykonywania. Więcej informacji o RRO znajdziesz w artykule Zmienianie wartości zasobów aplikacji w czasie wykonywania.