Configurar para desenvolvimento em AOSP (2.3 a 8.0)

Esta página descreve como configurar para desenvolvimento com o Android 8.0 ou versões anteriores. Para aprender a criar com o Android 9.0 e versões mais recentes, consulte Configurar para desenvolvimento em AOSP.

Configurar para desenvolvimento em AOSP (5.0 a 8.0)

Para as versões 5.0 a 8.0 do Android, considere o uso do Dockerfile incluído para facilitar a instalação de todos os pacotes necessários.

Sistemas operacionais

O Android normalmente é criado com um GNU Linux. Também é possível criá-lo em uma máquina virtual em sistemas sem suporte, como o Mac OS X.

O Google recomenda a criação no GNU Linux. O sistema de build do Android normalmente executa o ART na máquina de criação para pré-compilar arquivos DEX do sistema. Como o ART só pode ser executado no Linux, o sistema de build ignora essa etapa de pré-compilação em sistemas operacionais não Linux, resultando em uma versão do Android com desempenho reduzido.

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 a AOSP 8.0: Mac OS X v10.10 (Yosemite) ou mais recente com Xcode 4.5.2 e ferramentas de linha de comando
  • Android 5.x: Mac OS v10.8 (Mountain Lion) com Xcode 4.5.2 e ferramentas de linha de comando

JDK

Configurar para desenvolvimento em AOSP (2.3 a 4.4)

Esta seção fornece orientação sobre como configurar as versões de 2.3 a 4.4 do Android.

Sistemas operacionais

O Android normalmente é criado com um GNU Linux. Também é possível criá-lo em uma máquina virtual em sistemas sem suporte, como o Windows.

O Google recomenda a criação no GNU Linux. O sistema de build do Android normalmente executa o ART na máquina de criação para pré-compilar arquivos DEX do sistema. Como o ART só pode ser executado no Linux, o sistema de build ignora essa etapa de pré-compilação em sistemas operacionais não Linux, resultando em uma versão do Android com desempenho reduzido.

GNU Linux

  • Android 2.3.x a Android 4.4: Ubuntu 12.04 (Precise)

Mac OS X (Intel/x86)

  • Android 4.1.x a Android 4.4.x: Mac OS X v10.6 (Snow Leopard) ou Mac OS X v10.7 (Lion) e Xcode 4.2 (Ferramentas para Desenvolvedores da Apple)
  • Android 2.3 a 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

GNU Make

Para Android 4.1.x a 4.4, use o GNU Make (gmake) 3.82 (link em inglês). Para Android 2.3 a 4.0.x, reverta do gmake 3.82 para evitar erros de build.

Xcode e outros pacotes

Para Mac OS X v10.8 ou versões anteriores, instale o Xcode no site da Apple para desenvolvedores (link em inglês). Se você ainda não tem registro como desenvolvedor da Apple, crie 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.x e versões anteriores, o gmake 3.82 tem um bug que impede a criação do Android. Você pode instalar a versão 3.81 usando o MacPorts com estas etapas:

  1. Edite /opt/local/etc/macports/sources.conf e adicione file:///Users/Shared/dports acima da linha rsync.

  2. Crie o diretório dports:

    mkdir /Users/Shared/dports
    
  3. No novo diretório dports, execute:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Crie um índice de porta para seu novo repositório local:

    portindex /Users/Shared/dports
    
  5. Instale a versão anterior do gmake:

    sudo port install gmake @3.81
    

JDK

  • Android 2.3.x a Android 4.4.x:

JDK para Linux

O Android Open Source Project (AOSP) vem com versões pré-criadas do OpenJDK em prebuilts/jdk/, então nenhuma outra instalação é necessária.

As versões mais antigas do Android exigem uma instalação separada do JDK. No Ubuntu, use o OpenJDK (link em inglês).

Para o Ubuntu 15.04 e versões mais recentes

Execute o comando a seguir:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Para o Ubuntu LTS 14.04

Não há pacotes OpenJDK 8 com suporte disponíveis para o Ubuntu 14.04. Os pacotes do Ubuntu 15.04 OpenJDK 8 foram usados com o Ubuntu 14.04. Versões de pacote mais recentes (por exemplo, para as versões 15.10 e 16.04) não funcionam na 14.04 com as instruções abaixo.

  1. Faça o download dos pacotes .deb para a arquitetura de 64 bits em old-releases.ubuntu.com (link em inglês)

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb com SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb com SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb com SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. Outra opção é confirmar as checksums dos arquivos baixados em relação à string SHA256 listada em cada pacote na etapa 1. Por exemplo, com a ferramenta sha256sum:

    sha256sum {downloaded.deb file}
    
  3. Instale os pacotes:

    sudo apt-get update
    
  4. Execute dpkg para cada um dos arquivos .deb que você transferiu por download. Podem ocorrer erros devido a dependências ausentes:

    sudo dpkg -i {downloaded.deb file}
    
  5. Para corrigir as dependências ausentes:

    sudo apt-get -f install
    

Atualizar a versão padrão Java (opcional)

Como alternativa, para as versões do Ubuntu mencionadas, atualize a versão padrão Java executando:

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

Instalar os pacotes necessários para Ubuntu 14.04

Execute os comandos abaixo para instalar os pacotes necessários 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$

Instalar os pacotes necessários para Ubuntu 12.04

Execute os comandos abaixo para instalar os pacotes necessários 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