Panoramica della configurazione

AOSP offre le seguenti opzioni per la memorizzazione delle informazioni di configurazione su un dispositivo:

  • Proprietà di sistema
  • Proprietà del livello di astrazione hardware (HAL).
  • File XML di configurazione del sistema
  • Overlay di risorse (statico e runtime)

Proprietà di sistema

Le proprietà di sistema sono coppie chiave/valore stringa memorizzate nel dizionario globale build.prop . Le proprietà di sistema sono risorse a livello di sistema facili da usare e con un sovraccarico di prestazioni basso. Quando si utilizzano le proprietà di sistema, non è necessario utilizzare la comunicazione interprocesso (IPC) anche se una proprietà di sistema è condivisa tra più processi. Tuttavia, le proprietà del sistema sono simili alle variabili globali e possono essere dannose se utilizzate in modo improprio. L'uso improprio delle proprietà di sistema può causare problemi come vulnerabilità di sicurezza e app che diventano inaccessibili agli utenti. Prima di utilizzare le proprietà di sistema per memorizzare le informazioni di configurazione, considerare le altre opzioni di configurazione.

Per ulteriori informazioni sulle proprietà di sistema, vedere Aggiungi proprietà di sistema

proprietà HAL

Quando la fonte di verità per una configurazione proviene da un componente hardware su un dispositivo, l'HAL per l'hardware deve fornire le informazioni per quel componente. Definire un nuovo metodo HAL nell'HAL esistente per accedere alla configurazione. Per ulteriori informazioni sullo sviluppo di un HAL, vedere AIDL per HAL .

File XML di configurazione del sistema

Quando i dati di configurazione sono statici ma complicati (strutturati), considerare l'utilizzo di XML o altri formati simili per i dati di configurazione. Assicurarsi che lo schema del file rimanga stabile. Per i file XML, puoi usare xsd_config per mantenere lo schema stabile e per sfruttare un parser XML generato automaticamente.

Sovrapposizione di risorse

Puoi utilizzare le risorse in sovrimpressione per personalizzare un prodotto. Esistono due tipi di overlay di risorse:

  • Sovrapposizione di risorse standard utilizzata per personalizzare un prodotto in fase di compilazione. Per informazioni sugli overlay di risorse standard, vedere Personalizzazione della build con overlay di risorse .

  • Runtime Resource Overlay (RRO) viene utilizzato per modificare i valori delle risorse di un pacchetto di destinazione in fase di esecuzione. Ad esempio, un'app installata nell'immagine di sistema potrebbe modificare il proprio comportamento in base al valore di una risorsa. Anziché codificare il valore della risorsa in fase di compilazione, un RRO installato su una partizione diversa può modificare i valori delle risorse dell'app in fase di esecuzione. Per ulteriori informazioni sugli RRO, vedere Modifica del valore delle risorse di un'app in fase di esecuzione .