Présentation
Rust est un langage de programmation système moderne axé sur les performances et la sécurité, en particulier la sécurité de la mémoire. Rust est de plus en plus important dans l'écosystème Android, car il constitue une alternative plus sûre à C ou C++ pour développer des composants système critiques, offrant une sécurité et une stabilité améliorées.
Cette page vous explique comment configurer Android Studio for Platform (ASfP) pour prendre en charge le développement Rust dans vos projets Android Open Source Project (AOSP).
Prérequis
- ASfP installé : vérifiez que ASfP est installé et en cours d'exécution.
- Extraction de la plate-forme : vous devez disposer d'une extraction de la plate-forme AOSP fonctionnelle sur votre ordinateur.
Activer la prise en charge de Rust
Voici la procédure détaillée pour activer la prise en charge de Rust dans votre projet ASfP :
Activer Rust
- Lorsque vous créez un projet dans l'assistant de configuration, cochez la case Rust :
Case à cocher "Rust" dans l'assistant de configuration d'un nouveau projet. - Pour les projets existants, ouvrez votre fichier de configuration
.asfp-projectet ajoutezrustà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>
Synchroniser votre projet
Déclenchez une synchronisation du projet pour que l'IDE génère et indexe vos caisses Rust : sélectionnez ASfP > Sync > Sync Project.
Vérifier votre configuration
Une fois ces étapes effectuées, vérifiez les résultats suivants :
rust-project.jsons'affiche dans la vue du projet sous le fichier source.iml. Ce fichier est généré par Soong lors de l'analyse et lié symboliquement à la racine du dépôt, ce qui est nécessaire pour que le protocole LSP (Language Server Protocol) fournisse des services linguistiques. Ne modifiez pas ce fichier directement. Resynchronisez-le plutôt pour que Soong s'en occupe.Vérifiez que
rustest présent sousother_languagesdans votre configuration.asfp-project.
Assurez-vous que rust-project.jsona été généré.Votre IDE permet d'utiliser les fonctionnalités spécifiques à Rust suivantes.
Principales fonctionnalités de l'IDE Rust
- Débogage LLDB intégré et visualisateurs de variables : déboguez les services d'appareil Rust en cours d'exécution à partir de Exécuter > Associer à un processus Android. Vous pouvez également lancer des cibles
rust_testourust_test_hostdirectement à partir des icônes de gouttièreAndroid.bpà l'aide du débogueur LLDB intégré à ASfP (lldb-dap), avec des pretty-printers automatiques pourString,Vec,HashMapetOption. Pour en savoir plus, consultez Déboguer du code Rust. Complétion de code : obtenez des suggestions intelligentes pour le code Rust, y compris des éléments provenant d'autres modules.
Complétion de code suggérant des éléments d'un autre module Rust. Navigation : accédez aux définitions et trouvez les utilisations des symboles Rust dans votre projet.
Accéder à la définition d'un symbole Rust.
Trouver toutes les utilisations d'un symbole Rust. Info-bulles : pointez sur les symboles pour afficher des informations sur les types et la documentation.
Info-bulle affichant des informations sur le type d'un symbole Rust provenant d'un autre module. Indices d'insertion : affichez des informations sur les types et d'autres indices contextuels directement dans l'éditeur.
Indications d'insertion affichant des informations sur le type dans le code. Vue Structure : parcourez la structure de vos fichiers Rust à l'aide de la fenêtre d'outil Structure (Affichage > Fenêtres d'outil > Structure).
Fenêtre d'outil de structure affichant le plan d'un fichier Rust. Refactoring : renommez les symboles de manière sécurisée et mettez à jour toutes les utilisations.
Renommer un symbole Rust et mettre à jour toutes ses références. Analyse en temps réel : obtenez des commentaires instantanés sur les erreurs et les avertissements dans votre code Rust.
IDE affichant des erreurs et des avertissements en temps réel dans le code Rust.