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

Avant de télécharger et de compiler la branche main de la source Android, assurez-vous que votre matériel répond aux exigences requises et que le logiciel requis est correctement installé. 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 les embranchements, les commits, les différences, et des modifications. Pour obtenir de l'aide sur l'apprentissage de Git, consultez la documentation Git.
Dépôt
Un dépôt est un wrapper Python pour Git qui simplifie l'exécution des opérations complexes sur plusieurs dépôts Git. Le dépôt ne remplace pas Git pour toutes les opérations de contrôle des versions, il simplifie uniquement les opérations Git complexes à accomplir. Le dépôt utilise des fichiers manifestes pour agréger les projets Git dans le superprojet Android.
Fichier manifeste
Un fichier manifeste est un fichier XML qui indique l'emplacement des différents projets Git la source Android sont placés dans une arborescence source AOSP.

Configuration matérielle requise

Votre station de travail de développement doit respecter ou dépasser ces exigences matérielles configuration requise:

  • Système x86 64 bits

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

  • Au moins 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, 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 avec un ordinateur à 6 cœurs et 64 Go de RAM.

Configuration requise pour le système d'exploitation

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 version ultérieure, vous devez utiliser Ubuntu 18.04 ou version ultérieure. Pour installer 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échargez la source AOSP.

Installer le logiciel requis

Avant de pouvoir travailler avec AOSP, vous devez avoir des installations de OpenJDK, Make, Python 3 et Repo. La branche principale AOSP d'Android comprend des versions prédéfinies d'OpenJDK, de Make et de Python 3, les étapes ne sont pas obligatoires. La section suivante explique comment installer Repo.

Installer Repo

Pour installer Repo, procédez comme suit:

  1. Téléchargez les informations actuelles du package:

    sudo apt-get update
    
  2. Exécutez la commande suivante pour installer le lanceur de dépôts:

    sudo apt-get install repo
    

    Le lanceur de dépôts fournit un script Python qui initialise un processus de règlement et télécharge l'outil complet de dépôt.

    Si l'opération réussit, passez à l'étape 4.

  3. (Facultatif) Installez manuellement Repo à l'aide des séries de commandes suivantes:

    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 permettent de configurer un fichier temporaire, de télécharger le dépôt dans le fichier et vérifiez que la clé fournie correspond à la clé requise. Si ces commandes sont réussi, la commande finale installe le lanceur de dépôts.

  4. Vérifiez la version du lanceur de dépôts:

    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, le résultat de chaque compilation est stocké dans le sous-répertoire out/ de l'arborescence source correspondante. Vous pouvez remplacer ce répertoire en exportant OUT_DIR. Par exemple, si vous souhaitez stocker votre sortie sur un autre trajet, vous pouvez pointer OUT_DIR vers celui-ci:

export OUT_DIR=my_other_drive

Et maintenant ?