Visão geral de projetos

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