Configurato per lo sviluppo AOSP (9.0 o successivo)

Prima di scaricare e creare il ramo main del sorgente Android, assicurati che il tuo hardware soddisfi i requisiti necessari e che il software richiesto sia installato correttamente. Dovresti anche avere familiarità con i seguenti termini:

Idiota
Git è un sistema di controllo della versione distribuito gratuito e open source. Android utilizza Git per operazioni locali come ramificazioni, commit, differenze e modifiche. Per assistenza nell'apprendimento di Git, fare riferimento alla documentazione di Git .
Repo
Repo è un wrapper Python attorno a Git che semplifica l'esecuzione di operazioni complesse su più repository Git. Repo non sostituisce Git per tutte le operazioni di controllo della versione, ma semplifica solo le operazioni Git complesse.

Soddisfare i requisiti hardware

La tua workstation di sviluppo deve soddisfare o superare questi requisiti hardware:

  • Un sistema a 64 bit.

  • Almeno 400 GB di spazio libero su disco per eseguire il check-out e creare il codice (250 GB per il check-out + 150 GB per la creazione).

  • Un minimo di 64 GB di RAM. Google utilizza macchine a 72 core con 64 GB di RAM per creare Android. Con questa configurazione hardware, sono necessari circa 40 minuti per una build completa di Android e solo pochi minuti per una build incrementale di Android. Al contrario, ci vogliono circa 6 ore per una build completa con una macchina a 6 core con 64 GB di RAM.

Soddisfare i requisiti del sistema operativo

La tua workstation di sviluppo deve eseguire Ubuntu 18.04 o versione successiva.

Installa i pacchetti richiesti

Per creare Android 11 o versioni successive, è necessario utilizzare Ubuntu 18.04 o versioni successive. Per installare i pacchetti richiesti per Ubuntu 18.04 o versioni successive, esegui il comando seguente:

$ sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Tra i pacchetti installati, questo comando installa Git, che viene utilizzato per scaricare il sorgente AOSP.

Installa il software richiesto

Prima di poter lavorare con AOSP, è necessario disporre di installazioni di OpenJDK, Make, Python 3 e Repo. Il ramo principale AOSP di Android viene fornito con versioni predefinite di OpenJDK, Make e Python 3, quindi non sono necessari passaggi di installazione aggiuntivi. La sezione seguente spiega come installare Repo.

Installa il repository

Seguire questi passaggi per installare Repo:

  1. Scarica le informazioni sul pacchetto corrente:

    $ sudo apt-get update
    
  2. Eseguire il comando seguente per installare il launcher Repo:

    $ sudo apt-get install repo
    

    Il launcher Repo fornisce uno script Python che inizializza un checkout e scarica lo strumento Repo completo.

    In caso di successo, vai al passaggio 4.

  3. (facoltativo) Installa manualmente Repo utilizzando la seguente serie di comandi:

    $ export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    $ curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    $ gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    $ curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    

    I primi tre comandi configurano un file temporaneo, scaricano Repo nel file e verificano che la chiave fornita corrisponda alla chiave richiesta. Se questi comandi hanno esito positivo, il comando finale installa il launcher Repo.

  4. Verifica la versione del launcher Repo:

    $ repo version
    

    L'output dovrebbe indicare una versione 2.5 o successiva, ad esempio:

    repo launcher version 2.40

Imposta una directory di output alternativa

Per impostazione predefinita, l'output di ciascuna build viene archiviato nella sottodirectory out/ dell'albero dei sorgenti corrispondente. È possibile sovrascrivere questa directory esportando la variabile di ambiente OUT_DIR . Ad esempio, se desideri archiviare l'output su un'unità diversa, puoi puntare OUT_DIR su quell'unità:

$ export OUT_DIR=my_other_drive