Panoramica della configurazione

AOSP offre le seguenti opzioni per memorizzare le informazioni di configurazione su un dispositivo:

  • Proprietà di sistema
  • Proprietà del livello di astrazione hardware (HAL)
  • 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

Quando i dati di configurazione sono statici, ma complicati (strutturati), valuta la possibilità di utilizzare XML o altri formati simili 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 parser XML autogenerato.

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 delle risorse di runtime (RRO) viene utilizzato per modificare i valori delle risorse di un pacchetto target in fase di runtime. Ad esempio, un'app installata sull'immagine di sistema potrebbe cambiare il proprio comportamento in base al valore di una risorsa. Anziché hardcode 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, consulta Modificare il valore delle risorse di un'app in fase di esecuzione.