Configurer pour le développement AOSP (2.3 à 8.0)

Cette page explique comment configurer le développement avec Android 8.0 ou une version antérieure. Pour savoir comment compiler Android 9.0 et versions ultérieures, consultez Configurer le développement AOSP.

Configurer le développement AOSP (5.0 à 8.0)

Pour Android 5.0 à 8.0, envisagez d'utiliser le Dockerfile inclus pour faciliter l'installation de tous les packages requis.

Systèmes d'exploitation

Android est généralement compilé avec GNU Linux. Il est également possible de compiler Android dans une machine virtuelle sur des systèmes non compatibles tels que Mac OS X.

Google recommande de compiler sur GNU Linux. Le système de compilation Android exécute normalement ART sur la machine de compilation pour précompiler les fichiers DEX du système. ART ne peut s'exécuter que sur Linux. Par conséquent, le système de compilation ignore cette étape de précompilation sur les systèmes d'exploitation non Linux, ce qui entraîne une compilation Android avec des performances réduites.

GNU Linux

  • Android 6.0 à Android 8.0 : Ubuntu 14.04 (Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X (Intel/x86)

  • Android 6.0 à AOSP 8.0 : Mac OS X v10.10 (Yosemite) ou version ultérieure avec Xcode 4.5.2 et les outils de ligne de commande
  • Android 5.x : Mac OS X v10.8 (Mountain Lion) avec Xcode 4.5.2 et les outils de ligne de commande

JDK

Configurer le développement AOSP (2.3 à 4.4)

Cette section fournit quelques conseils sur la configuration d'Android 2.3 à Android 4.4.

Systèmes d'exploitation

Android est généralement compilé avec GNU Linux. Il est également possible de compiler Android dans une machine virtuelle sur des systèmes non compatibles tels que Windows.

Google recommande de compiler sur GNU Linux. Le système de compilation Android exécute normalement ART sur la machine de compilation pour précompiler les fichiers DEX du système. ART ne peut s'exécuter que sur Linux. Par conséquent, le système de compilation ignore cette étape de précompilation sur les systèmes d'exploitation non Linux, ce qui entraîne une compilation Android avec des performances réduites.

GNU Linux

  • Android 2.3.x à Android 4.4 : Ubuntu 12.04 (Precise)

Mac OS X (Intel/x86)

  • Android 4.1.x à Android 4.4.x : Mac OS X v10.6 (Snow Leopard) ou Mac OS X v10.7 (Lion) et Xcode 4.2 (Apple Developer Tools)
  • Android 2.3 à Android 4.0.x : Mac OS X v10.5 (Leopard) ou Mac OS X v10.6 (Snow Leopard) et le SDK Mac OS X v10.5

GNU make

Pour Android 4.1.x à 4.4, utilisez GNU make (gmake) 3.82. Pour Android 2.3 à 4.0.x, revenez à gmake 3.82 pour éviter les erreurs de compilation.

Xcode et autres packages

Pour Mac OS X v10.8 ou version antérieure, installez Xcode à partir du site pour les développeurs Apple. Si vous n'êtes pas déjà inscrit en tant que développeur Apple, vous devez créer un identifiant Apple pour effectuer le téléchargement.

Si vous utilisez Mac OS X v10.4, installez également Bison :

POSIXLY_CORRECT=1 sudo port install bison

Pour MacPorts, exécutez :

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Pour Homebrew, exécutez :

brew install gmake libsdl git gnupg2

Revenir à gmake 3.82

Dans Android 4.0.x et versions antérieures, gmake 3.82 présente un bug qui empêche la compilation d'Android. Vous pouvez installer la version 3.81 à l'aide de MacPorts en procédant comme suit :

  1. Modifiez /opt/local/etc/macports/sources.conf et ajoutez file:///Users/Shared/dports au-dessus de la ligne rsync.

  2. Créez le répertoire dports :

    mkdir /Users/Shared/dports
    
  3. Dans le nouveau répertoire dports, exécutez :

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Créez un index de port pour votre nouveau dépôt local :

    portindex /Users/Shared/dports
    
  5. Installez la version inférieure de gmake :

    sudo port install gmake @3.81
    

JDK

JDK pour Linux

Le projet Android Open Source (AOSP) est fourni avec des versions précompilées d'OpenJDK dans prebuilts/jdk/. Aucune installation supplémentaire n'est donc requise.

Les versions antérieures d'Android nécessitent une installation distincte du JDK. Sur Ubuntu, utilisez OpenJDK.

Pour Ubuntu 15.04 et versions ultérieures

Exécutez la commande suivante :

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Pour Ubuntu LTS 14.04

Aucun package OpenJDK 8 compatible n'est disponible pour Ubuntu 14.04. Les packages OpenJDK 8 d'Ubuntu 15.04 ont été utilisés avec succès avec Ubuntu 14.04. Les versions de package supérieures (par exemple, celles pour 15.10, 16.04) ne fonctionnent pas sur 14.04 en suivant les instructions ci-dessous.

  1. Téléchargez les packages .deb pour l'architecture 64 bits à partir de old-releases.ubuntu.com

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb avec SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb avec SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb avec SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. Vous pouvez également confirmer les sommes de contrôle des fichiers téléchargés par rapport à la chaîne SHA256 listée avec chaque package à l'étape 1. Par exemple, avec l'outil sha256sum :

    sha256sum {downloaded.deb file}
    
  3. Installez les packages :

    sudo apt-get update
    
  4. Exécutez dpkg pour chacun des fichiers .deb que vous avez téléchargés. Des erreurs peuvent se produire en raison de dépendances manquantes :

    sudo dpkg -i {downloaded.deb file}
    
  5. Pour résoudre les problèmes de dépendances manquantes :

    sudo apt-get -f install
    

(Facultatif) Mettre à jour la version Java par défaut

Vous pouvez également, pour les versions Ubuntu mentionnées précédemment, mettre à jour la version Java par défaut en exécutant la commande suivante :

sudo update-alternatives --config java
sudo update-alternatives --config javac

Installer les packages requis pour Ubuntu 14.04

Exécutez les commandes suivantes pour installer les packages requis pour Ubuntu 14.04 :

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

Installer les packages requis pour Ubuntu 12.04

Exécutez les commandes suivantes pour installer les packages requis pour Ubuntu 12.04 :

$ 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 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