Établir un environnement de construction

Cette section décrit comment configurer votre environnement de travail local pour créer les fichiers source Android. Vous devez utiliser Linux ; la construction sous MacOS ou Windows n'est pas prise en charge. Gardez à l' esprit le changement important pour le /usr/bin/python binaire ainsi.

Pour un aperçu de l'ensemble du code processus d' examen et de mise à jour du code, voir la vie d'un patch .

Choisir une succursale

Certaines exigences pour l'environnement de génération sont déterminées par la version du code source que vous prévoyez de compiler. Pour une liste complète des branches disponibles, voir numéros de build . Vous pouvez également choisir de télécharger et de construire le dernier code source (appelé master ), auquel cas vous ne spécifiez pas simplement la spécification de la branche lors de l' initialisation du référentiel.

Après avoir sélectionné une branche, suivez les instructions appropriées ci-dessous pour configurer votre environnement de génération.

Configuration d'un environnement de construction Linux

Ces instructions sont valables pour toutes les branches, y compris master .

La version Android est régulièrement testée en interne sur Ubuntu LTS (14.04) et les tests Debian. La plupart des autres distributions devraient disposer des outils de construction requis.

Pour Gingerbread (2.3.x) et les versions supérieures, y compris le master branche, un environnement 64 bits est requis. Les versions plus anciennes peuvent être compilées sur des systèmes 32 bits.

Installation des packages requis (Ubuntu 18.04)

Vous avez besoin d'une version 64 bits d'Ubuntu.

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

Installation des packages requis (Ubuntu 14.04)

Vous avez besoin d'une version 64 bits d'Ubuntu (14.04 est recommandée).

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

Installation des packages requis (Ubuntu 12.04)

Vous pouvez utiliser Ubuntu 12.04 pour créer d'anciennes versions d'Android. Version 12.04 est pas pris en charge sur le master ou les versions récentes.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Installation des packages requis (Ubuntu 10.04-11.10)

La construction sur Ubuntu 10.04-11.10 n'est plus prise en charge, mais peut être utile pour la construction d'anciennes versions d'AOSP.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

Sur Ubuntu 10.10 :

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Sur Ubuntu 11.10 :

sudo apt-get install libx11-dev:i386

Configuration de l'accès USB

Installer un jeu par défaut maintenu communautaire de udev règles pour tous les appareils Android en suivant les instructions pour configurer un appareil pour le développement .

Utilisation d'un répertoire de sortie séparé

Par défaut, la sortie de chaque construction est stocké dans le out/ sous - répertoire de l'arbre de la source correspondante.

Sur certaines machines avec plusieurs périphériques de stockage, les builds sont plus rapides lors du stockage des fichiers source et de la sortie sur des volumes séparés. Pour des performances supplémentaires, la sortie peut être stockée sur un système de fichiers optimisé pour la vitesse au lieu de la robustesse aux pannes, car tous les fichiers peuvent être régénérés si le système de fichiers est corrompu.

Pour configurer cela, exporter la OUT_DIR_COMMON_BASE variable le point à l'endroit où vos répertoires de sortie seront stockés.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

Le répertoire de sortie de chaque arborescence source distincte est nommé d'après le répertoire contenant l'arborescence source. Par exemple, si vous avez des arbres source /source/master1 et /source/master2 et si OUT_DIR_COMMON_BASE est réglé sur /output , les répertoires de sortie sont /output/master1 et /output/master2 .

Évitez d'avoir plusieurs arborescences sources stockées dans des répertoires portant le même nom, car les arborescences sources finiraient par partager un répertoire de sortie, avec des résultats imprévisibles. Ceci est uniquement pris en charge sur Jelly Bean (4.1) et plus, y compris le master branche.

Suivant : Télécharger la source

Votre environnement de construction est prêt à partir ! Passez à télécharger la source .