Esta página discute como configurar o desenvolvimento com Android 8.0 ou versões anteriores. Para saber como criar o Android 9.0 e versões posteriores, consulte Configuração para desenvolvimento AOSP .
Configurar para desenvolvimento AOSP (5.0 - 8.0)
Para Android 5.0 a 8.0, considere usar o Dockerfile incluído para facilitar a instalação de todos os pacotes necessários.
Sistemas operacionais
O Android normalmente é construído com um GNU Linux. Também é possível construir o Android em uma máquina virtual em sistemas não suportados, como o Mac OS X.
O Google recomenda construir no GNU Linux. O sistema de compilação Android normalmente executa o ART na máquina de compilação para pré-compilar os arquivos DEX do sistema. O ART só pode ser executado no Linux, portanto, o sistema de compilação ignora essa etapa de pré-compilação em sistemas operacionais não Linux, resultando em uma compilação do Android com desempenho reduzido.
GNU Linux
- Android 6.0 - Android 8.0: Ubuntu 14.04 (confiável)
- Android 5.x: Ubuntu 12.0
MacOS X (Intel/x86)
- Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) ou posterior com Xcode 4.5.2 e ferramentas de linha de comando
- Android 5.x: Mac OS X v10.8 (Mountain Lion) com Xcode 4.5.2 e ferramentas de linha de comando
JDK
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 ou superior
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
Configurar para desenvolvimento AOSP (2.3 - 4.4)
Esta seção fornece algumas orientações sobre como configurar o Android 2.3 até o Android 4.4.
Sistemas operacionais
O Android normalmente é construído com um GNU Linux. Também é possível construir o Android em uma máquina virtual em sistemas não suportados, como o Windows.
O Google recomenda construir no GNU Linux. O sistema de compilação Android normalmente executa o ART na máquina de compilação para pré-compilar os arquivos DEX do sistema. O ART só pode ser executado no Linux, portanto, o sistema de compilação ignora essa etapa de pré-compilação em sistemas operacionais não Linux, resultando em uma compilação do Android com desempenho reduzido.
GNU Linux
- Android 2.3.x - Android 4.4: Ubuntu 12.04 (preciso)
MacOS 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) e Xcode 4.2 (Apple Developer Tools)
- Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) ou Mac OS X v10.6 (Snow Leopard) e o SDK do Mac OS X v10.5
Marca GNU
Para Android 4.1.x a 4.4 use GNU make (gmake) 3.82 . Para Android 2.3 a 4.0.x, reverta do gmake 3.82 para evitar erros de compilação.
Xcode e outros pacotes
Para Mac OS X v10.8 ou inferior, instale o Xcode no site do desenvolvedor da Apple . Se você ainda não estiver registrado como desenvolvedor Apple, deverá criar um ID Apple para fazer o download.
Se estiver usando o Mac OS X v10.4, instale também o Bison:
POSIXLY_CORRECT=1 sudo port install bison
Para MacPorts, emita:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
Para Homebrew, emita:
brew install gmake libsdl git gnupg2
Reverter do gmake 3.82
No Android 4.0.xe inferior, o gmake 3.82 tem um bug que impede a compilação do Android. Você pode instalar a versão 3.81 usando MacPorts com estas etapas:
Edite
/opt/local/etc/macports/sources.conf
e adicionefile:///Users/Shared/dports
acima da linharsync
.Crie o diretório
dports
:mkdir /Users/Shared/dports
No novo diretório
dports
, execute:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Crie um índice de porta para seu novo repositório local:
portindex /Users/Shared/dports
Instale a versão inferior do gmake:
sudo port install gmake @3.81
JDK
- Android 2.3.x - Android 4.4.x:
- Ubuntu: Java JDK 6
- MacOS X: Java JDK 6
JDK para Linux
O Android Open Source Project (AOSP) vem com versões pré-construídas do OpenJDK em prebuilts/jdk/
portanto, nenhuma instalação adicional é necessária.
Versões anteriores do Android requerem uma instalação separada do JDK. No Ubuntu, use OpenJDK
Para Ubuntu 15.04 e superior
Execute o seguinte:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Para Ubuntu LTS 14.04
Não há pacotes OpenJDK 8 suportados disponíveis para Ubuntu 14.04. Os pacotes Ubuntu 15.04 OpenJDK 8 foram usados com sucesso com o Ubuntu 14.04. Versões de pacotes superiores (por exemplo, aquelas para 15.10, 16.04) não funcionam em 14.04 usando as instruções a seguir.
Baixe os pacotes
.deb
para arquitetura de 64 bits em old-releases.ubuntu.com-
openjdk-8-jre-headless_8u45-b14-1_amd64.deb
com SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
-
openjdk-8-jre_8u45-b14-1_amd64.deb
com SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
-
openjdk-8-jdk_8u45-b14-1_amd64.deb
com SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
-
Opcionalmente, confirme as somas de verificação dos arquivos baixados em relação à string SHA256 listada com cada pacote na etapa 1. Por exemplo, com a ferramenta
sha256sum
:sha256sum {downloaded.deb file}
Instale os pacotes:
sudo apt-get update
Execute
dpkg
para cada um dos arquivos.deb
que você baixou. Pode produzir erros devido à falta de dependências:sudo dpkg -i {downloaded.deb file}
Para corrigir dependências ausentes:
sudo apt-get -f install
(Opcional) Atualize a versão Java padrão
Opcionalmente, para as versões do Ubuntu mencionadas anteriormente, atualize a versão padrão do Java executando:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Instale os pacotes necessários para Ubuntu 14.04
Execute os seguintes comandos para instalar os pacotes necessários para o 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$
Instale os pacotes necessários para Ubuntu 12.04
Execute os seguintes comandos para instalar os pacotes necessários para o 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