Configuration pour le développement AOSP (9.0 ou version ultérieure)

Avant de télécharger et de créer la branche main de la source Android, assurez-vous que votre matériel répond à la configuration requise et que les logiciels requis sont correctement installés. Vous devez également connaître les termes suivants :

Git
Git est un système de contrôle de version distribué gratuit et open source. Android utilise Git pour les opérations locales telles que les branchements, les validations, les différences et les modifications. Pour obtenir de l'aide sur l'apprentissage de Git, reportez-vous à la documentation Git .
Repo
Repo est un wrapper Python autour de Git qui simplifie l'exécution d'opérations complexes sur plusieurs référentiels Git. Repo ne remplace pas Git pour toutes les opérations de contrôle de version, il facilite uniquement la réalisation des opérations Git complexes.

Répondre aux exigences matérielles

Votre poste de travail de développement doit respecter ou dépasser ces exigences matérielles :

  • Un système 64 bits.

  • Au moins 400 Go d'espace disque libre pour extraire et générer le code (250 Go pour extraire + 150 Go pour générer).

  • Un minimum de 64 Go de RAM. Google utilise des machines à 72 cœurs avec 64 Go de RAM pour créer Android. Avec cette configuration matérielle, il faut environ 40 minutes pour une version complète d'Android et seulement quelques minutes pour une version incrémentielle d'Android. En revanche, il faut environ 6 heures pour une build complète avec une machine à 6 cœurs avec 64 Go de RAM.

Répondre aux exigences du système d'exploitation

Votre poste de travail de développement doit exécuter Ubuntu 18.04 ou une version ultérieure.

Installer les packages requis

Pour créer Android 11 ou version ultérieure, vous devez utiliser Ubuntu 18.04 ou version ultérieure. Pour installer les packages requis pour Ubuntu 18.04 ou version ultérieure, exécutez la commande suivante :

$ 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

Parmi les packages installés, cette commande installe Git, qui permet de télécharger la source AOSP.

Installer le logiciel requis

Avant de pouvoir travailler avec AOSP, vous devez disposer d'installations d'OpenJDK, Make, Python 3 et Repo. La branche principale AOSP d'Android est livrée avec des versions prédéfinies d'OpenJDK, Make et Python 3, donc aucune étape d'installation supplémentaire n'est requise. La section suivante explique comment installer Repo.

Installer le dépôt

Suivez ces étapes pour installer Repo :

  1. Téléchargez les informations actuelles sur le package :

    $ sudo apt-get update
    
  2. Exécutez la commande suivante pour installer le lanceur Repo :

    $ sudo apt-get install repo
    

    Le lanceur Repo fournit un script Python qui initialise une extraction et télécharge l'outil Repo complet.

    En cas de succès, passez à l'étape 4.

  3. (facultatif) Installez manuellement Repo à l'aide de la série de commandes suivante :

    $ 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
    

    Les trois premières commandes configurent un fichier temporaire, téléchargent Repo dans le fichier et vérifient que la clé fournie correspond à la clé requise. Si ces commandes réussissent, la commande finale installe le lanceur Repo.

  4. Vérifiez la version du lanceur Repo :

    $ repo version
    

    La sortie doit indiquer une version 2.5 ou supérieure, par exemple :

    repo launcher version 2.40

Définir un répertoire de sortie alternatif

Par défaut, la sortie de chaque build est stockée dans le sous-répertoire out/ de l'arborescence source correspondante. Vous pouvez remplacer ce répertoire en exportant la variable d'environnement OUT_DIR . Par exemple, si vous souhaitez stocker votre sortie sur un autre lecteur, vous pouvez pointer OUT_DIR vers ce lecteur :

$ export OUT_DIR=my_other_drive