O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Estabelecendo um ambiente de construção

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Esta seção descreve como configurar seu ambiente de trabalho local para criar os arquivos de origem do Android. Você deve usar o Linux; a construção em MacOS ou Windows não é suportada. Tenha em mente a mudança importante no binário /usr/bin/python também.

Para obter uma visão geral de todo o processo de revisão e atualização de código, consulte Life of a patch .

Escolhendo uma filial

Alguns requisitos para o ambiente de construção são determinados pela versão do código-fonte que você planeja compilar. Para obter uma lista completa de branches disponíveis, consulte Build Numbers . Você também pode optar por baixar e construir o código-fonte mais recente (chamado master ), caso em que você simplesmente omite a especificação do branch ao inicializar o repositório.

Depois de selecionar uma ramificação, siga as instruções apropriadas abaixo para configurar seu ambiente de construção.

Configurando um ambiente de compilação do Linux

Estas instruções se aplicam a todas as ramificações, incluindo master .

A compilação do Android é rotineiramente testada internamente no teste Ubuntu LTS (14.04) e Debian. A maioria das outras distribuições deve ter as ferramentas de compilação necessárias disponíveis.

Para Gingerbread (2.3.x) e versões superiores, incluindo a ramificação master , é necessário um ambiente de 64 bits. Versões mais antigas podem ser compiladas em sistemas de 32 bits.

Instalando pacotes necessários (Ubuntu 18.04)

Você precisa de uma versão de 64 bits do Ubuntu.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Instalando pacotes necessários (Ubuntu 14.04)

Você precisa de uma versão de 64 bits do Ubuntu (14.04 é recomendado).

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

Instalando pacotes necessários (Ubuntu 12.04)

Você pode usar o Ubuntu 12.04 para criar versões mais antigas do Android. A versão 12.04 não é suportada em versões master ou recentes.

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 g++-multilib 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

Instalando os pacotes necessários (Ubuntu 10.04-11.10)

Compilar no Ubuntu 10.04-11.10 não é mais suportado, mas pode ser útil para compilar versões mais antigas do AOSP.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

No Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

No Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

Configurando o acesso USB

Instale um conjunto padrão de regras do udev mantido pela comunidade para todos os dispositivos Android seguindo as instruções em Configurar um dispositivo para desenvolvimento .

Usando um diretório de saída separado

Por padrão, a saída de cada compilação é armazenada no subdiretório out/ da árvore de origem correspondente. Você pode substituir isso exportando a variável de ambiente OUT_DIR . Por exemplo:

export OUT_DIR=out_mytarget

Isso fará com que a saída da compilação seja armazenada no subdiretório out_mytarget/ da árvore de origem. Ao usar a mesma árvore de origem para criar vários destinos, é recomendável usar um OUT_DIR separado para cada destino.

Em algumas máquinas com vários dispositivos de armazenamento, as compilações são mais rápidas ao armazenar os arquivos de origem e a saída em volumes separados. Para obter desempenho adicional, a saída pode ser armazenada em um sistema de arquivos otimizado para velocidade em vez de robustez contra falhas, porque todos os arquivos podem ser regenerados se o sistema de arquivos estiver corrompido.

Para configurar isso, exporte a variável OUT_DIR_COMMON_BASE para apontar para o local onde seus diretórios de saída serão armazenados.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

O diretório de saída para cada árvore de origem separada recebe o nome do diretório que contém a árvore de origem. Por exemplo, se você tiver árvores /source/master1 source/master1 e /source/master2 e se OUT_DIR_COMMON_BASE estiver definido como /output , os diretórios de saída serão /output/master1 e /output/master2 .

Evite ter várias árvores de origem armazenadas em diretórios com o mesmo nome, pois as árvores de origem acabariam compartilhando um diretório de saída, com resultados imprevisíveis. Isso é suportado apenas no Jelly Bean (4.1) e superior, incluindo o branch master .

Seguinte: Baixe a fonte

Seu ambiente de construção está pronto! Prossiga para baixar a fonte .