AOSP udostępnia 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 w czasie wykonywania)
Właściwości systemowe
Właściwości systemowe to pary klucz-wartość łańcucha znaków przechowywane w build.prop
globalnym słowniku. Właściwości systemowe to zasoby obejmujące cały system, które są łatwe w użyciu i nie wymagają dużych nakładów pracy. Podczas korzystania z właściwości systemowych nie musisz używać komunikacji międzyprocesowej (IPC), nawet jeśli dana właściwość systemowa jest współdzielona przez kilka procesów. Właściwości systemowe są jednak podobne do zmiennych globalnych i w przypadku niewłaściwego użycia mogą być szkodliwe. Niewłaściwe używanie właściwości systemu może np. spowodować, że luki w zabezpieczeniach i aplikacje staną się niedostępne dla użytkowników. Zanim użyjesz właściwości systemu do przechowywania informacji o konfiguracji,
zastanów się nad innymi opcjami 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ło informacji o konfiguracji pochodzi z elementu sprzętowego na urządzeniu, informacje o tym komponencie musi dostarczyć interfejs HAL dla tego sprzętu. Zdefiniuj w dotychczasowym pliku HAL nową metodę HAL do uzyskiwania dostępu do konfiguracji. Więcej informacji o tworzeniu interfejsu HAL znajdziesz w artykule AIDL dla interfejsów HAL.
Pliki XML konfiguracji systemu
Jeśli dane konfiguracji są statyczne, ale skomplikowane (uporządkowane), rozważ użycie formatu XML lub innego podobnego. Upewnij się, że schemat plików jest stabilny. W przypadku plików XML możesz użyć parametru xsd_config
, aby zachować stabilność schematu i korzystać z automatycznie wygenerowanego parsera XML.
Nakładka zasobu
Możesz używać nakładek zasobów, aby dostosować produkt. Istnieją 2 rodzaje nakładek zasobów:
Standardowe nakładanie zasobów służy do dostosowywania produktu w czasie kompilacji. Informacje o standardowych nakładkach zasobów znajdziesz w artykule [GA4] Dostosowywanie wersji 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 działania. Na przykład aplikacja zainstalowana w systemie może zmieniać swoje działanie w zależności od wartości zasobu. Zamiast kodować na stałe wartość zasobu w momencie kompilacji, RRO zainstalowana w innej partycji może zmieniać wartości zasobów aplikacji w czasie działania. Więcej informacji na temat RRO znajdziesz w artykule o zmienianiu wartości zasobów aplikacji w czasie działania.