Configuración para el desarrollo en AOSP (2.3 - 8.0)

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

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:

  1. Edita /opt/local/etc/macports/sources.conf y agrega file:///Users/Shared/dports sobre la línea rsync.

  2. Crea el directorio dports.

    mkdir /Users/Shared/dports
    
  3. 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/
    
  4. Crea un índice de puerto para tu nuevo repositorio local:

    portindex /Users/Shared/dports
    
  5. Instala la versión anterior de gmake:

    sudo port install gmake @3.81
    

JDK

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.

  1. 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 SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb con SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb con SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. 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}
    
  3. Instala los paquetes:

    sudo apt-get update
    
  4. 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}
    
  5. 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