Configurar um ambiente de desenvolvimento integrado para desenvolvimento de SDV

O Android Studio para plataforma (ASfP) é o ambiente de desenvolvimento integrado (IDE) recomendado para desenvolver a plataforma Android, incluindo projetos de veículo definido por software (SDV) do sistema operacional Android Automotive (AAOS). O ASfP oferece um conjunto avançado de ferramentas para edição, criação, depuração e teste de código, incluindo:

  • Assistência com tecnologia de IA (Gemini)
  • Suporte às linguagens Rust, C, C++ e Java
  • Integrações úteis para o desenvolvimento de SDV do AAOS (por exemplo, suporte ao emulador Cuttlefish e à linguagem VSIDL)

Instalar o Android Studio para a plataforma

Para instalar o ASfP:

  1. Faça o download do Android Studio para a plataforma.

  2. Escolha a versão mais adequada às suas necessidades:

    • Estável:a versão de produção mais recente, recomendada para a maioria dos usuários.
    • Canary:versões de acesso antecipado com os recursos mais recentes, mas potencialmente menos estáveis.
  3. Siga as instruções de instalação na página de download.

Configurar um projeto de SDV do AAOS

Para configurar um projeto de SDV do AAOS:

  1. Verifique se você tem acesso ao repositório de código-fonte do SDV do AAOS e se inicializou e sincronizou seu checkout local. Consulte Fazer o download, criar e executar para mais detalhes sobre como acessar a origem e inicializar o repositório.

  2. Inicie o Android Studio para a plataforma.

  3. Se você estiver usando pela primeira vez, siga o assistente de configuração para personalizar o ambiente de desenvolvimento.

  4. Crie um novo projeto:

    • Se você não tiver um projeto aberto, clique em Novo na tela de boas-vindas.
    • Se você já tiver um projeto aberto, clique em Open ou selecione ASfP > Project > Import ASfP Project no menu.
  5. Preencha os detalhes da configuração do projeto no assistente:

    • Checkout do Repo:especifique o caminho absoluto para a raiz do checkout do código-fonte do SDV do AAOS local (por exemplo, /path/to/sdv_source).

    • lunch target:insira o destino de inicialização adequado para o desenvolvimento do SDV do AAOS no Cuttlefish, por exemplo, sdv_core_cf-trunk_staging-userdebug. Consulte Escolher um destino para mais destinos disponíveis.

    • Fontes do projeto:liste os diretórios ou módulos iniciais que você quer incluir no projeto ou clique no ícone de pasta para abrir o navegador do sistema de arquivos e selecionar os diretórios. Selecionar muitos diretórios ou módulos afeta a indexação e o desempenho da pesquisa do ambiente de desenvolvimento integrado. Portanto, inclua apenas os diretórios ou módulos relevantes.

    • Suporte a idiomas:selecione Rust e C++ como idiomas compatíveis.

    • Nome do projeto:dê um nome descritivo ao projeto.

    • Concluir configuração:clique em Concluir. O ASfP cria a estrutura do projeto e o arquivo de configuração .asfp-project.

O ASfP inicia automaticamente um processo de sincronização inicial. O ASfP analisa seu código-fonte, resolve dependências usando o sistema de build Soong e cria as informações necessárias para os recursos de inteligência de código. Isso pode levar um tempo considerável, principalmente na primeira sincronização.

Personalizar o projeto

O arquivo .asfp-project na raiz do projeto permite mais personalização. Você pode editar esse arquivo para:

  • Adicione ou remova diretórios e módulos.
  • Ative o suporte para outras linguagens, como C++ ou Rust (Java e Kotlin são padrão).
  • Configure flags de build.

Para fazer mudanças no arquivo de configuração, selecione ASfP > Projeto > Abrir configuração. Consulte Visão geral dos projetos para conferir as opções de configuração disponíveis.

Depurar e testar

Para depurar e testar o código no ASfP, consulte Depurar código da plataforma e Testar código da plataforma com atest.

Integrações disponíveis

O ASfP vem com algumas integrações úteis para o desenvolvimento de SDV do AAOS, incluindo suporte para Cuttlefish e Language Server Protocol (LSP) em VSIDL.

Plug-in do Cuttlefish

Com o plug-in Cuttlefish, os usuários podem criar e executar dispositivos Cuttlefish locais diretamente do ASfP.

Instalar o plug-in

O plug-in Cuttlefish vem pré-instalado com o ASfP e não requer configuração. O plug-in exige que as ferramentas do Cuttlefish estejam instaladas no dispositivo. Siga as instruções para instalar as ferramentas do Cuttlefish, se necessário.

Criar dispositivo Cuttlefish

Para criar um novo dispositivo:

  1. Abra a janela de ferramentas do Gerenciador de dispositivos selecionando Tools > Device Manager ou clicando no ícone Running Devices no painel à direita se o Gerenciador de dispositivos já estiver fixado ali.

  2. Clique no ícone + e selecione Criar dispositivo Cuttlefish.

  3. Configure o novo dispositivo Cuttlefish. É possível criar dispositivos Cuttlefish de duas maneiras:

    • De um check-out local da árvore de origem do Android:

      • Selecione o caminho para o destino criado que corresponde à sua configuração de início (consulte Escolher um destino para mais detalhes).
      • Selecione o caminho do host.
      • Se quiser, selecione as configurações de dispositivo disponíveis ou Nenhuma para a configuração padrão.
    • Da configuração canônica (use essa opção para criar vários dispositivos com base em uma única configuração):

      • Selecione o caminho para a configuração do dispositivo.
      • Se quiser, forneça flags de substituição para substituir as opções de configuração.
  4. Aguarde a criação e adição do dispositivo Cuttlefish à lista de dispositivos em execução no Gerenciador de dispositivos.

  5. Selecione o dispositivo Cuttlefish no menu Dispositivos em execução.

Você pode iniciar ou parar dispositivos Cuttlefish individuais clicando no ícone de parar ou iniciar ao lado do dispositivo no Gerenciador de dispositivos.

Acessar a página do dispositivo Cuttlefish

O plug-in Cuttlefish tem uma janela de ferramentas que mostra a página Cuttlefish Device, em que é possível acessar os recursos de espelhamento de tela.

Para abrir a janela de ferramentas do Cuttlefish, clique no ícone ... no painel esquerdo e selecione Cuttlefish. Ou pesquise Cuttlefish no item de menu Ajuda > Encontrar ação.

Protocolo de servidor de linguagem em VSIDL

No VSIDL, o LSP oferece um conjunto avançado de recursos do ambiente de desenvolvimento integrado para melhorar seu fluxo de trabalho de desenvolvimento ao trabalhar com arquivos VSIDL (com uma extensão .vsidl) no ASfP.

Destaque de sintaxe semântica

O servidor LSP fornece destaque de sintaxe para arquivos VSIDL.

  • O que ele faz:destaca palavras-chave (service_bundle, publisher), campos (package:, message:) e literais.

  • Como testar:abra qualquer arquivo VSIDL. O arquivo tem cores diferentes para distinguir palavras-chave estruturais de identificadores definidos pelo usuário.

Diagnóstico em tempo real (erros e avisos)

O servidor LSP valida continuamente os arquivos e informa problemas em tempo real.

  • O que ele faz:detecta erros de sintaxe, referências de tipo inválidas e outros erros em todo o catálogo e suas dependências.

  • Como testar:digite um erro em um nome de mensagem (por exemplo, TiiirePressure). Uma linha vermelha ondulada vai aparecer abaixo da palavra. Passe o cursor sobre ela para ver a mensagem de erro ou confira a lista completa na janela de ferramentas Problems na parte de baixo do ambiente de desenvolvimento integrado.

Você pode usar recursos de navegação e inteligência para explorar as relações entre diferentes partes do catálogo VSIDL.

  • Preenchimento automático:pressione Control+Espaço para ver sugestões de palavras-chave, mensagens protobuf, serviços RPC, tópicos e canais. As sugestões de palavras-chave incluem explicações curtas e úteis sobre a finalidade delas diretamente no menu de conclusão. A LSP também fornece snippets inteligentes para blocos como publisher ou server para acelerar seu fluxo de trabalho.

  • Acessar uma definição:mantenha pressionada a tecla Control e clique (ou pressione Control+B) em uma mensagem, serviço, tema ou referência de canal para acessar diretamente a definição de origem, mesmo que esteja em um arquivo VSIDL ou protobuf diferente.

  • Encontrar referências:coloque o cursor na palavra-chave publisher, subscriber, server ou client e pressione Alt+Shift+F7 para encontrar todas as ocorrências.

  • Informações ao passar o cursor:mova o cursor para um tipo ou propriedade (ou pressione Control+Q). Uma dica de ferramenta aparece mostrando os comentários da documentação (se houver).

Recursos estruturais

O servidor LSP ajuda você a gerenciar e navegar pela estrutura de arquivos VSIDL grandes:

  • Símbolos do documento (estrutura de tópicos): pressione Ctrl+F12 para uma dica de navegação rápida ou abra a janela de ferramentas Estrutura (Ctrl+Alt+7) para conferir uma visualização em árvore de todos os pacotes e unidades no arquivo.

  • Intervalos de recolhimento:clique nos ícones > ou V na margem (ao lado dos números das linhas) para recolher ou expandir grandes blocos lógicos, como service_bundle ou definições de mapeamento.

  • Formatação de documentos:pressione Control+Alt+L para reformatar automaticamente o arquivo, criando recuo e espaçamento consistentes.