Ciclo di vita del rilascio

Il codice AOSP passa attraverso diversi branch prima di essere combinato in una release ufficiale. La Figura 1 mostra i vari passaggi di questo ciclo di vita della release.

Ciclo di vita delle release AOSP.

Figura 1. Ciclo di vita delle release AOSP.

Di seguito sono riportati i passaggi del ciclo di vita:

  1. Il codice del progetto a monte viene incanalato nel ramo di sviluppo esterno, chiamato main.

    Un progetto upstream è un progetto open source da cui AOSP estrae il codice. Oltre a progetti come il kernel Linux e WebKit, Google esegue la migrazione di alcuni progetti Android semiautonomi come ART, gli strumenti SDK Android e Bionic in AOSP. Puoi contribuire direttamente ad alcuni progetti a monte. Per maggiori dettagli, consulta Contribuire a un progetto a monte.

    Il ramo di sviluppo esterno è quello che scarichi e modifichi per il tuo dispositivo. In questo ramo puoi contribuire con codice alla prossima versione di AOSP.

  2. Le modifiche caricate e approvate per l'inclusione nel ramo principale sono disponibili automaticamente per tutti gli utenti che utilizzano il ramo principale.

    Le modifiche approvate al main vengono trasferite automaticamente al branch di sviluppo interno di Google. Questo ramo è accessibile solo all'interno di Google ed è qui che Google aggiunge nuove funzionalità per la release successiva.

  3. Circa ogni trimestre, viene creato un ramo di rilascio interno dal ramo di sviluppo interno. Questo ramo rappresenta tutto il codice per la prossima release di AOSP. Google potrebbe scegliere le modifiche da includere in questo ramo di release per risolvere i bug e migliorare le prestazioni .

  4. A un certo punto, il codice nel ramo di rilascio interno viene inviato in upstream per essere nuovamente unito al ramo di sviluppo esterno (main) e viene utilizzato per creare una copia di sola lettura di un ramo di rilascio sull'host AOSP pubblico.