Panoramica della build

AOSP utilizza il sistema di compilazione Soong per creare Android. Soong utilizza lo strumento di clonazione GNU Make kati e il componente del sistema di compilazione Ninja per velocizzare le build di Android.

I file di build di Soong sono chiamati file blueprint e sono denominati Android.bp. Questi file sono simili per sintassi e semantica ai file BUILD di Bazel.

Per ulteriori informazioni sul formato del file Android.bp, vedi Formato del file Android.bp.

Per ulteriori informazioni sulla conversione dei file Make in file Android.bp, consulta Confronto tra Make e Soong.

Flag di lancio delle funzionalità e flag di build

I flag di lancio delle funzionalità sono flag binari utilizzati per isolare il codice non testato da quello testato. Se gestisci un tuo mirror del ramo di sviluppo esterno AOSP, puoi utilizzare questi flag per mantenere stabile il codice sottoposto a mirroring. Se contribuisci con codice al ramo di sviluppo esterno pubblico, il revisore potrebbe chiederti di implementare un flag per il tuo codice.

I flag di build sono costanti stringa in fase di build utilizzate per modificare la build, ad esempio per includere facoltativamente una libreria di codice.

Per maggiori informazioni sui diversi rami di codice, consulta la sezione Ciclo di vita del rilascio.

I flag di lancio delle funzionalità e di build richiedono modifiche ai file di build. Per saperne di più su questi flag e su come utilizzarli in una build, consulta la Panoramica dei flag di lancio delle funzionalità.

Riduzione del codice e delle risorse con R8

Soong utilizza il compilatore R8 per ridurre e ottimizzare i target Java e Kotlin che compilano bytecode DEX, come android_app, android_test e i moduli java_library installabili. Nelle librerie statiche, come android_library e java_library statico, il blocco optimize allega ed esporta le regole di conservazione dei consumatori.

Per saperne di più sulla configurazione dell'ottimizzazione R8 e delle regole di conservazione, consulta Ottimizzare il codice e le risorse della piattaforma con R8.