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
Android 7.0 à Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 ou version ultérieure
Android 5.x (Lollipop) à Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
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:
Modifiez
/opt/local/etc/macports/sources.conf
et ajoutezfile:///Users/Shared/dports
au-dessus de la lignersync
.Créez le répertoire
dports
:mkdir /Users/Shared/dports
Dans le nouveau répertoire
dports
, exécutez:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Créez un index de port pour votre nouveau dépôt local:
portindex /Users/Shared/dports
Installez la version inférieure de gmake:
sudo port install gmake @3.81
JDK
- Android 2.3.x à Android 4.4.x :
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
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.
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 SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
avec SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
avec SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
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}
Installez les packages:
sudo apt-get update
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}
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