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

Avant de télécharger et de compiler la dernière branche de version d'Android (android17-release) de la source Android, assurez-vous que votre matériel répond aux exigences nécessaires 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 des versions distribué, sans frais et Open Source. Android utilise Git pour les opérations locales telles que la création de branches, les commits, les diffs et les modifications. Pour en savoir plus sur Git, consultez la documentation Git.
Repo
Repo est un wrapper Python autour de Git qui simplifie l'exécution d'opérations complexes sur plusieurs dépôts Git. Repo ne remplace pas Git pour toutes les opérations de contrôle des versions. Il facilite simplement les opérations Git complexes. Repo utilise des fichiers manifestes pour regrouper les projets Git dans le superprojet Android.
Fichier manifeste
Un fichier manifeste est un fichier XML qui spécifie l'emplacement des différents projets Git de la source Android dans une arborescence source AOSP.

Configuration requise pour les appareils Google Meet

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

  • Un système x86 64 bits.

  • Au moins 400 Go d'espace disque libre pour extraire et compiler le code (250 Go pour l'extraction et 150 Go pour la compilation).

  • Au moins 64 Go de RAM. Google utilise des machines à 72 cœurs avec 64 Go de RAM pour compiler Android. Avec cette configuration matérielle, il faut environ 40 minutes pour une compilation complète d'Android et seulement quelques minutes pour une compilation incrémentielle d'Android. En revanche, il faut environ six heures pour une compilation complète avec une machine à six cœurs et 64 Go de RAM.

Respecter la configuration système requise

Votre poste de travail de développement doit exécuter une distribution Linux 64 bits avec GNU C Library (glibc) 2.17 ou version ultérieure.

Installer les packages requis

Pour compiler Android 11 ou une version ultérieure, vous devez utiliser Ubuntu 18.04 ou une 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 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 les logiciels requis

Avant de pouvoir utiliser l'AOSP, vous devez installer OpenJDK, Make, Python 3 et Repo. La dernière branche de version d'Android est fournie avec des versions prédéfinies d'OpenJDK, de Make et de Python 3. Aucune étape d'installation supplémentaire n'est donc requise. La section suivante explique comment installer Repo.

Installer Repo

Pour installer Repo, procédez comme suit :

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

    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 un checkout et télécharge l'outil Repo complet.

    Si l'opération réussit, 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 aboutissent, la commande finale installe le lanceur Repo.

  4. Vérifiez la version du lanceur Repo :

    repo version

    Le résultat doit indiquer une version 2.4 ou ultérieure, par exemple :

    repo launcher version 2.45
    

Définir un autre répertoire de sortie

Par défaut, la sortie de chaque compilation 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 disque, vous pouvez faire pointer OUT_DIR vers ce disque :

export OUT_DIR=my_other_drive

Étape suivante