Suporte ao Rust no ASfP

Visão geral

Rust é uma linguagem de programação de sistemas moderna focada em desempenho e segurança, principalmente segurança de memória. O Rust está se tornando cada vez mais importante no ecossistema do Android como uma alternativa mais segura ao C/C++ para desenvolver componentes críticos do sistema, oferecendo mais segurança e estabilidade.

Esta página orienta você na configuração do Android Studio for Platform (ASfP) para oferecer suporte ao desenvolvimento em Rust nos seus projetos do Android Open Source Project (AOSP).

Pré-requisitos

  • ASfP instalado:verifique se o ASfP está instalado e em execução.
  • Finalização de compra da plataforma:você precisa de uma finalização de compra da plataforma AOSP funcional na sua máquina.

Ativar o suporte ao Rust

Confira o processo detalhado para ativar o suporte ao Rust no seu projeto ASfP:

  1. Ativar o Rust

    • Ao criar um novo projeto no assistente de configuração, basta marcar a caixa do Rust:
    Caixa de seleção do Rust no assistente de configuração de novo projeto.
    Caixa de seleção "Rust" no assistente de configuração de novo projeto.
    • Para projetos atuais, navegue até a configuração .asfp-project e adicione rust a other_languages:
        other_languages:
          -   cpp
          -   rust
        ```
    
    <figure>
          <img src="/studio/platform/images/1-modify_asfp_project_languages.png" alt="Modifying the .asfp-project file to add rust to other_languages" class="screenshot">
          <figcaption>Adding Rust support in the <code>.asfp-project</code> file.</figcaption>
        </figure>
    
  1. Sincronize seu projeto:

    • Depois de realizar as etapas anteriores, acione uma sincronização de projeto para garantir que todas as mudanças sejam aplicadas e que o ambiente de desenvolvimento integrado reconheça o projeto Rust: acesse Arquivo > Sincronizar projeto.

Como verificar o sucesso

Depois de concluir essas etapas:

  • Você vai ver rust-project.json na visualização do projeto (em iml de origem). Esse arquivo é gerado pelo Soong durante a análise e vinculado por um link simbólico à raiz do repositório, o que é necessário para que o LSP forneça serviços de linguagem. NÃO edite esse arquivo diretamente. Em vez disso, faça uma nova sincronização para que o Soong cuide disso.

    Verifique se rust está presente em other_languages na configuração .asfp-project.

    Verifique se o arquivo rust-project.json foi gerado.
    Verifique se o rust-project.json foi gerado.
  • Os recursos específicos do Rust (descritos e mostrados abaixo) vão estar ativados no seu ambiente de desenvolvimento integrado.

Principais recursos do ambiente de desenvolvimento integrado do Rust

  • Preenchimento de código:receba sugestões inteligentes para código Rust, incluindo itens de outros módulos.

    Exemplo de preenchimento de código entre módulos do Rust
    Conclusão de código sugerindo itens de um módulo Rust diferente.

  • Navegação:acesse rapidamente as definições e encontre usos de símbolos do Rust em todo o projeto.

    Exemplo de navegação em código Rust
    Navegar até a definição de um símbolo do Rust.
    Exemplo de uso do Rust
    Como encontrar todos os usos de um símbolo do Rust.

  • Dicas:passe o cursor sobre os símbolos para ver informações e documentação sobre o tipo.

    Exemplo de dica do Rust
    Dica mostrando informações de tipo para um símbolo Rust de outro módulo.

  • Dicas de encarte:veja informações de tipo e outras dicas contextuais diretamente no editor.

    Exemplo de dicas de encarte do Rust
    Dicas de encarte mostrando informações de tipo no código.

  • Estrutura:navegue pela estrutura dos seus arquivos Rust usando a janela de ferramentas Estrutura (View > Tool Windows > Structure).

    Exemplo de visualização da estrutura do Rust
    A janela de ferramentas de estrutura mostrando o contorno de um arquivo Rust.

  • Refatoração:renomeie símbolos com segurança e atualize todos os usos.

    Exemplo de refatoração de renomeação de símbolo do Rust
    Renomear um símbolo do Rust e atualizar todas as referências dele.

  • Análise em tempo real:receba feedback instantâneo sobre erros e avisos no seu código Rust.

    Exemplo de análise de código em tempo real do Rust
    IDE mostrando erros e avisos em tempo real no código Rust.