Compatibilidad con versiones anteriores

Cómo compilar versiones antiguas recientes (>= 5.0 Lollipop)

Para las versiones de Android 8.0 (Oreo u O) a 5.0 (Lollipop o L), te recomendamos que uses el Dockerfile incluido a fin de facilitar la instalación de todos los paquetes requeridos.

Cómo compilar versiones muy antiguas (<= 4.4 KitKat)

Sistemas operativos

Android generalmente se compila con GNU/Linux. Además, se puede compilar en una máquina virtual en sistemas no compatibles, como Windows.

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. Esto genera una compilación de Android con rendimiento reducido.

GNU/Linux

  • Android 6.0 (Marshmallow) – Principal de AOSP: Ubuntu 14.04 (Trusty)
  • Android 2.3.x (Gingerbread) – Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
  • Android 1.5 (Cupcake) – Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)

Mac OS X (Intel/x86)

  • Android 6.0 (Marshmallow) – Principal de AOSP: Mac OS X v10.10 (Yosemite) o versiones posteriores con Xcode 4.5.2 y herramientas de línea de comandos
  • Android 5.x (Lollipop): Mac OS X v10.8 (Mountain Lion) con Xcode 4.5.2 y herramientas de línea de comandos
  • Android 4.1.x (Jelly Bean) – Android 4.4.x (KitKat): Mac OS X v10.6 (Snow Leopard) o Mac OS X v10.7 (Lion) y Xcode 4.2 (Herramientas para desarrolladores de Apple)
  • Android 1.5 (Cupcake) – Android 4.0.x (Ice Cream Sandwich): 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 versiones anteriores a la rama principal de AOSP a través de Android 4.1.x (Jelly Bean), usa GNU Make (gmake) 3.82. Para Android 4.0.x (Ice Cream Sandwich) y versiones anteriores, vuelve a una versión anterior desde gmake 3.82 para evitar errores de compilación.

Xcode y otros paquetes

Para versiones anteriores de Mac OS X v10.8 o inferiores, 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 gmake 3.82

En Android 4.0.x (Ice Cream Sandwich) 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 esta línea:
        file:///Users/Shared/dports
    por encima de la línea rsync. Luego, crea este directorio:
        mkdir /Users/Shared/dports
  2. 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/
  3. Crea un índice de puerto para tu nuevo repositorio local:
        portindex /Users/Shared/dports
  4. Instala la versión anterior de gmake:
        sudo port install gmake @3.81

JDK

Versiones compatibles

JDK para Linux

La rama master de Android en el Proyecto de código abierto de Android (AOSP) viene con versiones precompiladas de OpenJDK en prebuilts/jdk/, por lo que no se requiere instalación adicional.

Las versiones anteriores de Android requieren una instalación aparte 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 superiores (por ejemplo, las de 15.10, 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 string de SHA256 que se indica en cada paquete anterior. Por ejemplo, con la herramienta sha256sum:
        sha256sum {downloaded.deb file}
  3. 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 anteriores, actualiza la versión predeterminada de Java ejecutando lo siguiente:

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