Um projeto no Android Studio para plataforma (ASfP) contém tudo o que define seu espaço de trabalho para a base de código do AOSP, desde código-fonte e recursos até código de teste e configurações de build.
Quando você inicia um novo projeto, o ASfP cria a estrutura necessária para todos os seus arquivos e os torna visíveis na janela Project. Para abrir a janela, selecione View > Tool Windows > Project.
Esta página oferece uma visão geral dos principais componentes da configuração do projeto.
Configuração do projeto (.asfp-project
)
A configuração do projeto ASfP é controlada pelo arquivo .asfp-project
,
localizado na raiz do diretório do projeto. Esse arquivo YAML é essencial para controlar o que entra no seu projeto e como os recursos críticos operam. Ele pode ser aberto no menu principal usando ASfP > Projeto > Abrir configuração ou na visualização do projeto.
Após a criação do projeto, uma configuração é criada com base nas especificações fornecidas pelo usuário. Todos os parâmetros na configuração podem ser editados a qualquer momento para modificar as especificações do projeto, por exemplo, para atualizar diretórios ou módulos do projeto. Depois disso, é necessário fazer uma sincronização para que as mudanças sejam refletidas.
Parâmetros de configuração
Confira os principais parâmetros que podem ser configurados no arquivo .asfp-project
:
repo
Obrigatório
Um caminho absoluto para a raiz do repositório da plataforma Android.
repo: /path/to/aosp
lunch
Obrigatório
A meta de almoço que será associada ao seu projeto. Isso é usado para todas as ações de build do Soong, incluindo sincronização e configurações de execução relevantes.
lunch: your-product-variant-userdebug
directories
Opcional
Diretórios a serem incluídos ou excluídos do projeto. Eles precisam ser
caminhos relativos em relação à raiz repo
.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Opcional
Módulos para incluir ou excluir do seu projeto. Eles funcionam em conjunto com o directories
especificado anteriormente. Os nomes completos e abreviados são aceitos.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Opcional
A ASfP tenta diferenciar entre fontes de produção e de teste, mas, em alguns casos, talvez seja necessário indicar explicitamente as fontes de teste. Forneça esses caminhos como
relativos à raiz repo
. Todas as raízes de origem que forem subdiretórios dos caminhos especificados serão marcadas como teste.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Opcional
O suporte a Java está incluído por padrão. Você pode adicionar suporte a outros idiomas.
O ASfP também é compatível com C/C++ (cpp
) e Rust (rust
).
other_languages:
- cpp
- rust
build_config
Opcional
Com esse parâmetro, é possível adicionar flags ou variáveis de ambiente personalizadas aos eventos de build do Soong. Essa configuração se aplica a todas as ações na IDE que resultam em um build do Soong, incluindo configurações de sincronização e execução.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value