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

Cette page explique comment configurer le développement avec Android 8.0 ou une version antérieure. Pour découvrir comment compiler Android 9.0 ou version ultérieure, consultez la section Configurer pour le développement AOSP.

Configurer pour le développement d'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 créé avec un système d'exploitation Linux GNU. Il est également possible de compiler Android dans une machine virtuelle sur des systèmes non compatibles, tels que Mac OS X.

Google recommande d'utiliser 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 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 pour 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 compilé avec un GNU Linux. Il est également possible de compiler Android dans une machine virtuelle sur des systèmes non compatibles, tels que Windows.

Google recommande d'utiliser GNU Linux. Le système de compilation Android exécute normalement ART sur la machine de compilation pour précompiler les fichiers DEX 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 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 (précis)

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, passez de 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 sur le site des développeurs Apple. Si vous n'êtes pas déjà enregistré en tant que développeur Apple, vous devez créer un ID 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, problème:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Pour Homebrew, problème:

brew install gmake libsdl git gnupg2

Revenir à la version 3.82 de gmake

Dans Android 4.0.x et versions antérieures, gmake 3.82 présente un bug qui empêche Android de compiler. Pour installer la version 3.81 à l'aide de MacPorts, procédez 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édéfinies 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 paquet 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 paquets supérieures (par exemple, celles pour 15.10, 16.04) ne fonctionnent pas sous 14.04 avec les instructions suivantes.

  1. Téléchargez les packages .deb pour l'architecture 64 bits sur 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, vérifiez les sommes de contrôle des fichiers téléchargés par rapport à la chaîne SHA-256 listée avec chaque package à partir 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 corriger les dépendances manquantes:

    sudo apt-get -f install
    

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

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

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

Installer les paquets requis pour Ubuntu 14.04

Exécutez les commandes suivantes pour installer les paquets 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