AOSP offre le seguenti opzioni per archiviare le informazioni di configurazione su un dispositivo:
- Proprietà di sistema
- Proprietà HAL (Hardware Astrazione Layer)
- File XML di configurazione del sistema
- Overlay delle risorse (statici e di runtime)
Proprietà di sistema
Le proprietà di sistema sono coppie chiave/valore di stringhe memorizzate nel dizionario globale build.prop
. Le proprietà di sistema sono risorse di sistema facili da utilizzare e con un basso overhead per le prestazioni. Quando utilizzi le proprietà di sistema, non
è necessario utilizzare la comunicazione interprocesso (IPC) anche se una proprietà di sistema è condivisa
tra più processi. Tuttavia, le proprietà di sistema sono simili alle variabili globali e possono essere dannose se usate in modo improprio. L'uso improprio delle proprietà di sistema può provocare problemi come vulnerabilità di sicurezza e app non accessibili agli utenti. Prima di utilizzare le proprietà di sistema per archiviare le informazioni di configurazione,
considera le altre opzioni di configurazione.
Per ulteriori informazioni sulle proprietà di sistema, consulta Aggiungere proprietà di sistema
Proprietà HAL
Quando l'origine attendibile di una configurazione proviene da un componente hardware su un dispositivo, l'HAL per l'hardware deve fornire le informazioni per quel componente. Definisci un nuovo metodo HAL nell'HAL esistente per accedere alla configurazione. Per ulteriori informazioni sullo sviluppo di un HAL, consulta AIDL per gli HAL.
File XML di configurazione del sistema
Se i dati di configurazione sono statici ma complicati (strutturati), valuta la possibilità di utilizzare XML o altri formati di questo tipo per i dati di configurazione. Assicurati che lo schema del file rimanga stabile. Per i file XML, puoi utilizzare xsd_config
per mantenere stabile lo schema e sfruttare un analizzatore XML generato automaticamente.
Sovrapposizione delle risorse
Puoi utilizzare gli overlay delle risorse per personalizzare un prodotto. Esistono due tipi di overlay delle risorse:
Overlay delle risorse standard utilizzato per personalizzare un prodotto in fase di compilazione. Per informazioni sugli overlay delle risorse standard, consulta Personalizzare la compilazione con gli overlay delle risorse.
L'overlay di risorse di runtime viene utilizzato per modificare i valori delle risorse di un pacchetto di destinazione in fase di runtime. Ad esempio, un'app installata sull'immagine di sistema potrebbe modificare il proprio comportamento in base al valore di una risorsa. Invece di hardcoded del valore della risorsa al momento della build, un RRO installato su una partizione diversa può modificare i valori delle risorse dell'app in fase di runtime. Per ulteriori informazioni sugli RRO, consulta Modificare il valore delle risorse di un'app in fase di esecuzione.