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:
- 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
- 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
Versiones compatibles
- Android 7.0 (Nougat) - Android 8.0 (Oreo):
- 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
- Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo):
- Ubuntu: Java JDK 5
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.
- 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
- openjdk-8-jre-headless_8u45-b14-1_amd64.deb
- 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}
- Instala los paquetes:
sudo apt-get update
Ejecutadpkg
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