En esta página, se explican las configuraciones para el desarrollo con Android 8.0 o versiones anteriores. Para saber cómo compilar Android 9.0 o versiones posteriores, consulta Configuración para el desarrollo en AOSP.
Configuración para el desarrollo en AOSP (5.0 a 8.0)
Para Android 5.0 a 8.0, puedes utilizar el Dockerfile incluido para facilitar la instalación de todos los paquetes necesarios.
Sistemas operativos
Android generalmente se compila con GNU Linux. También es posible compilar Android en una máquina virtual en sistemas no compatibles, como Mac OS X.
En Google, recomendamos compilar en GNU Linux. El sistema de compilación de Android ejecuta normalmente ART en la máquina de compilación para precompilar los archivos DEX del sistema. ART solo puede ejecutarse en Linux, por lo que el sistema de compilación omite este paso de compilación previa en sistemas operativos que no son Linux, lo que genera una compilación de Android con rendimiento reducido.
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) o posteriores con Xcode 4.5.2 y herramientas de línea de comandos
- Android 5.x: Mac OS X v10.8 (Mountain Lion) con Xcode 4.5.2 y herramientas de línea de comandos
JDK
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 o versiones posteriores
Android 5.x (Lollipop) – Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
Configuración para el desarrollo en AOSP (2.3 - 4.4)
Esta sección ofrece orientación para configurar Android desde la versión 2.3 hasta la 4.4.
Sistemas operativos
Android generalmente se compila con GNU Linux. Además, se puede compilar Android en una máquina virtual en sistemas no compatibles, como Windows.
En Google, recomendamos compilar en GNU Linux. El sistema de compilación de Android ejecuta normalmente ART en la máquina de compilación para precompilar los archivos DEX del sistema. ART solo puede ejecutarse en Linux, por lo que el sistema de compilación omite este paso de compilación previa en sistemas operativos que no son Linux, lo que genera una compilación de Android con rendimiento reducido.
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) o Mac OS X v10.7 (Lion) y Xcode 4.2 (Herramientas para desarrolladores de Apple)
- Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) o Mac OS X v10.6 (Snow Leopard) y el SDK de Mac OS X v10.5
GNU make
Para las versiones de Android 4.1.x a 4.4, usa GNU make (gmake) 3.82. Para las versiones de Android 2.3 a 4.0.x, vuelve a una versión anterior desde gmake 3.82 para evitar errores de compilación.
Xcode y otros paquetes
Para Mac OS X v10.8 o versiones anteriores, instala Xcode desde el sitio para desarrolladores de Apple. Si aún no te registraste como desarrollador de Apple, debes crear un ID de Apple para realizar descargas.
Si usas Mac OS X v10.4, también instala Bison:
POSIXLY_CORRECT=1 sudo port install bison
Para MacPorts, escribe:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
Para Homebrew, escribe:
brew install gmake libsdl git gnupg2
Cómo volver a una versión anterior desde 3.82
En Android 4.0.x y versiones anteriores, gmake 3.82 tiene un error que impide la compilación de Android. Para instalar la versión 3.81 con MacPorts, sigue estos pasos:
Edita
/opt/local/etc/macports/sources.conf
y agregafile:///Users/Shared/dports
sobre la línearsync
.Crea el directorio
dports
.mkdir /Users/Shared/dports
En el nuevo directorio de
dports
, ejecuta lo siguiente:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Crea un índice de puerto para tu nuevo repositorio local:
portindex /Users/Shared/dports
Instala la versión anterior 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 para Linux
El Proyecto de código abierto de Android (AOSP) viene con versiones precompiladas de OpenJDK incorporadas en prebuilts/jdk/
, por lo que no se requiere ninguna instalación adicional.
Las versiones anteriores de Android requieren una instalación independiente del JDK. En Ubuntu, usa OpenJDK.
Para Ubuntu 15.04 y versiones posteriores
Ejecuta lo siguiente:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Para Ubuntu LTS 14.04
No hay paquetes compatibles de OpenJDK 8 disponibles para Ubuntu 14.04. Los paquetes de Ubuntu 15.04 OpenJDK 8 se usaron correctamente con Ubuntu 14.04. Las versiones de paquete posteriores (por ejemplo, las de 15.10 o 16.04) no funcionan en 14.04 con las instrucciones que se indican a continuación.
Descarga los paquetes de
.deb
para la arquitectura de 64 bits desde old-releases.ubuntu.com.openjdk-8-jre-headless_8u45-b14-1_amd64.deb
con SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
con SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
con SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
De manera opcional, puedes confirmar las sumas de comprobación de los archivos descargados con la cadena de SHA256 que se indica en cada paquete del paso 1. Por ejemplo, con la herramienta
sha256sum
:sha256sum {downloaded.deb file}
Instala los paquetes:
sudo apt-get update
Ejecuta
dpkg
para cada uno de los archivos.deb
que descargaste. Es posible que genere errores debido a la falta de dependencias:sudo dpkg -i {downloaded.deb file}
Para corregir las dependencias faltantes, usa lo siguiente:
sudo apt-get -f install
(Opcional) Actualiza la versión predeterminada de Java
Opcionalmente, para las versiones de Ubuntu mencionadas con anterioridad, actualiza la versión predeterminada de Java ejecutando lo siguiente:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Cómo instalar los paquetes requeridos para Ubuntu 14.04
Ejecuta los siguientes comandos para instalar los paquetes requeridos para 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$
Cómo instalar los paquetes requeridos para Ubuntu 12.04
Ejecuta los siguientes comandos para instalar los paquetes requeridos para 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