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 conçu 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 créer des applications 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. Le système de compilation ignore donc cette étape de précompilation sur les systèmes d'exploitation autres que 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 des conseils sur la configuration d'Android 2.3 à Android 4.4.

Systèmes d'exploitation

Android est généralement conçu avec GNU/Linux. Il est également possible de créer Android dans une machine virtuelle sur des systèmes non compatibles tels que Windows.

Google recommande de créer des applications 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. Le système de compilation ignore donc cette étape de précompilation sur les systèmes d'exploitation autres que 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 (outils de développement Apple)
  • 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 depuis le site Web Apple Developer. 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, problème :

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 la commande suivante :

    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

Pour ce faire, 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 Ubuntu 15.04 OpenJDK 8 ont été utilisés avec succès avec Ubuntu 14.04. Les versions de package plus récentes (par exemple, celles pour 15.10 et 16.04) ne fonctionnent pas sur 14.04 avec les instructions suivantes.

  1. Téléchargez les packages .deb pour l'architecture 64 bits depuis 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. Si vous le souhaitez, comparez les sommes de contrôle des fichiers téléchargés à la chaîne SHA256 listée avec chaque package de 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. Il peut générer des erreurs 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 mettre à jour la version Java par défaut pour les versions d'Ubuntu mentionnées précédemment 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