Panoramica della configurazione

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

  • Proprietà di sistema
  • Proprietà dell'Hardware Abstraction Layer (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 stringa archiviate nel dizionario globale build.prop. Le proprietà di sistema sono risorse a livello di sistema facili da utilizzare e con un basso overhead delle prestazioni. Quando utilizzi le proprietà di sistema, non devi 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 utilizzate in modo improprio. L'uso improprio delle proprietà di sistema può causare problemi come vulnerabilità di sicurezza e inaccessibilità delle app per gli utenti. Prima di utilizzare le proprietà di sistema per archiviare le informazioni di configurazione, valuta le altre opzioni di configurazione.

Per ulteriori informazioni sulle proprietà di sistema, vedi Aggiungere proprietà di sistema

Proprietà HAL

Quando l'origine attendibile di una configurazione è un componente hardware di 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 HAL.

File XML di configurazione del sistema

Se i dati di configurazione sono statici ma complessi (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 generato automaticamente.

Sovrapposizione delle risorse

Puoi utilizzare le sovrapposizioni delle risorse per personalizzare un prodotto. Esistono due tipi di overlay delle risorse:

  • Overlay di risorse standard utilizzato per personalizzare un prodotto in fase di creazione. Per informazioni sulle overlay delle risorse standard, consulta Personalizzare la build con le overlay delle risorse.

  • L'overlay delle risorse runtime (RRO) viene utilizzato per modificare i valori delle risorse di un pacchetto di destinazione al runtime. Ad esempio, un'app installata sull'immagine di sistema potrebbe modificare il proprio comportamento in base al valore di una risorsa. Anziché codificare in modo permanente 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 runtime. Per ulteriori informazioni sugli RRO, consulta Modificare il valore delle risorse di un'app in fase di runtime.