Panoramica della configurazione

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

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

Proprietà di sistema

Le proprietà di sistema sono coppie chiave/valore di stringa archiviate 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à di sistema sono simili alle variabili globali e possono essere dannose se utilizzate in modo improprio. L'uso improprio delle proprietà del sistema può comportare problemi quali vulnerabilità della sicurezza e app che diventano inaccessibili agli utenti. Prima di utilizzare le proprietà del sistema per archiviare le informazioni di configurazione, considerare le altre opzioni di configurazione.

Per ulteriori informazioni sulle proprietà di sistema, vedere 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. 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), valutare 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 è possibile utilizzare xsd_config per mantenere stabile lo schema e sfruttare un parser XML generato automaticamente.

Sovrapposizione delle risorse

È possibile utilizzare le sovrapposizioni di risorse per personalizzare un prodotto. Esistono due tipi di sovrapposizioni di risorse:

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

  • L'overlay delle risorse di runtime (RRO) 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 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 sulle RRO, consulta Modificare il valore delle risorse di un'app in fase di esecuzione .

,

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

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

Proprietà di sistema

Le proprietà di sistema sono coppie chiave/valore di stringa archiviate 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à di sistema sono simili alle variabili globali e possono essere dannose se utilizzate in modo improprio. L'uso improprio delle proprietà del sistema può comportare problemi quali vulnerabilità della sicurezza e app che diventano inaccessibili agli utenti. Prima di utilizzare le proprietà del sistema per archiviare le informazioni di configurazione, considerare le altre opzioni di configurazione.

Per ulteriori informazioni sulle proprietà di sistema, vedere 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. 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), valutare 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 è possibile utilizzare xsd_config per mantenere stabile lo schema e sfruttare un parser XML generato automaticamente.

Sovrapposizione delle risorse

È possibile utilizzare le sovrapposizioni di risorse per personalizzare un prodotto. Esistono due tipi di sovrapposizioni di risorse:

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

  • L'overlay delle risorse di runtime (RRO) 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 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 sulle RRO, consulta Modificare il valore delle risorse di un'app in fase di esecuzione .