Siga as instruções nesta página para criar o Android.
Configure seu ambiente de construção
Em seu diretório de trabalho, crie o script envsetup.sh
para configurar seu ambiente de compilação:
$ source build/envsetup.sh
Este script importa vários comandos que permitem trabalhar com o código-fonte do Android, incluindo os comandos usados nesta página. Para visualizar a origem do script, consulte platform/build/envsetup.sh
. Para visualizar a ajuda integrada, digite hmm
.
Escolha um alvo
Antes de construir o Android, você deve identificar um destino para construir. Para identificar seu destino para construção, use o comando lunch
seguido por um destino que identifica seu produto e construção alvo:
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
Ver a meta atual
Para ver as configurações atuais do almoço, execute:
$ echo "$TARGET_PRODUCT-$TARGET_BUILD_VARIANT"
A string que representa o destino tem o seguinte formato:
lunch product_name-release-build_variant
Os componentes desta string são:
O product_name é o nome do produto que você deseja construir, como
aosp_cf_x86_64_phone
ouaosp_husky
. Seu product_name específico pode seguir seu próprio formato, mas o formato que o Google usa possui estes componentes:-
aosp
refere-se à plataforma de código aberto Android. - (opcional)
cf
é incluído quando o alvo se destina a ser executado no emulador Cuttlefish. - arquitetura e hardware, como
x86_64_phone
ouhusky
(Pixel 8 pro).
-
A release está definida como
trunk-staging
.A parte build_variant da string pode ser um dos três valores na tabela a seguir:
build_variant Descrição user
Esta variante de construção fornece acesso de segurança limitado e é adequada para produção. userdebug
Esta variante de compilação ajuda os desenvolvedores de dispositivos a compreender o desempenho e o poder das versões em desenvolvimento. Ao desenvolver com uma compilação userdebug
, siga as Diretrizes para userdebug .inglês Esta variante de construção tem um tempo de construção mais rápido e é mais adequada para o desenvolvimento diário se você não se preocupa com desempenho e potência.
Construa o código
Execute o seguinte comando para construir seu destino. Dependendo da especificação da sua estação de trabalho, a primeira construção pode levar menos de uma hora e até algumas horas. As compilações subsequentes levam significativamente menos tempo.
$ m
A primeira saída que você deve ver é uma sinopse do seu ambiente de destino e de construção:
============================================
PLATFORM_VERSION_CODENAME=VanillaIceCream
PLATFORM_VERSION=VanillaIceCream
PRODUCT_INCLUDE_TAGS=com.android.mainline
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.5.13-1rodete2-amd64-x86_64-Debian-GNU/Linux-rodete
HOST_CROSS_OS=windows
BUILD_ID=AOSP.MAIN
OUT_DIR=out
============================================
O comando m
é compilado a partir do topo da árvore, para que você possa executar m
dentro de subdiretórios. Se você tiver a variável de ambiente TOP
definida, o comando m
a utilizará. Se TOP
não estiver definido, o comando m
procura a árvore no diretório atual, tentando encontrar o topo da árvore.
O comando m
pode lidar com tarefas paralelas com um argumento -jN
. Se você não fornecer um argumento -j
, o sistema de compilação selecionará automaticamente uma contagem de tarefas paralelas que considera ideal para o seu sistema.
Você pode criar módulos específicos em vez da imagem completa do dispositivo listando os nomes dos módulos na linha de comando m
. Além disso, o comando m
fornece alguns pseudo-alvos, chamados de metas . Por exemplo, m nothing
não constrói nada, mas analisa e valida a estrutura de construção. Para obter uma lista de metas válidas, digite m help
.
Solucionar erros de compilação (8.0 ou anterior)
Se você estiver compilando o AOSP 8 ou anterior, m
poderá ser abortado quando encontrar um problema com sua versão do Java. Por exemplo, você pode receber esta mensagem:
************************************************************
You are attempting to build with the incorrect version
of java.
Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.
Please follow the machine setup instructions at
https://source.android.com/source/initializing.html
************************************************************
Aqui estão as prováveis causas e soluções:
- Você não conseguiu instalar o JDK correto conforme especificado nas seções JDK de Configuração para desenvolvimento AOSP (2.3 - 8.0) .
- Há outro JDK instalado anteriormente aparecendo no seu caminho. Anexe o JDK correto ao início do seu caminho ou remova o JDK problemático.