Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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/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 vous avez installé et exécuté ASfP.
Paiement sur la plate-forme : vous devez disposer d'un paiement sur la plate-forme AOSP fonctionnel sur votre machine.
Activer la compatibilité avec Rust
Voici la procédure détaillée pour que le support de Rust fonctionne dans votre projet ASfP :
Activer Rust
Lorsque vous créez un projet dans l'assistant de configuration, il vous suffit de cocher la case Rust :
Case à cocher Rust dans l'assistant de configuration de nouveau projet.
Pour les projets existants, accédez à la configuration .asfp-project et ajoutez rust à 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>
Synchronisez votre projet :
Après avoir effectué les étapes précédentes, vous devez déclencher une synchronisation du projet pour vous assurer que toutes les modifications sont appliquées et que l'IDE reconnaît le projet Rust : accédez à File > Sync Project (Fichier > Synchroniser le projet).
Vérifier la réussite de l'opération
Une fois ces étapes terminées :
Vous devriez voir rust-project.json dans la vue de votre projet (sous le fichier iml source). 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 LSP fournisse des services linguistiques. NE MODIFIEZ PAS ce fichier directement. Resynchronisez-le pour que Soong s'en occupe.
Pour rappel, vérifiez que rust est présent sous other_languages dans votre configuration .asfp-project.
Assurez-vous que rust-project.json a été généré.
Les fonctionnalités spécifiques à Rust (décrites et illustrées ci-dessous) devraient être activées dans votre IDE.
Principales fonctionnalités de l'IDE 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 rapidement 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.
Indicateurs d'insertion : affichez des informations sur les types et d'autres indicateurs contextuels directement dans l'éditeur.
Indices d'incrustation 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 (Vue > 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 les erreurs et les avertissements en temps réel dans le code Rust.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["Overview\n\nRust is a modern systems programming language focused on performance and safety,\nparticularly memory safety. Rust is increasingly important in the Android\necosystem as a safer alternative to C/C++ for developing critical system\ncomponents, offering improved security and stability.\n\nThis page guides you through setting up Android Studio for Platform (ASfP) to\nsupport Rust development within your Android Open Source Project (AOSP)\nprojects.\n\nPrerequisites\n\n- **ASfP Installed:** Verify you have ASfP installed and running.\n- **Platform checkout:** You need a working AOSP platform checkout on your machine.\n\nEnabling Rust support\n\nHere's the step-by-step process to get Rust support working in your ASfP\nproject:\n\n1. **Enable Rust**\n\n - When creating a **new project** in the setup wizard, simply check the box for Rust:\n\n Rust checkbox in new project setup wizard.\n - For existing projects, navigate to your `.asfp-project` config and add `rust` to `other_languages`:\n\n other_languages:\n - cpp\n - rust\n ```\n\n \u003cfigure\u003e\n \u003cimg src=\"/studio/platform/images/1-modify_asfp_project_languages.png\" alt=\"Modifying the .asfp-project file to add rust to other_languages\" class=\"screenshot\"\u003e\n \u003cfigcaption\u003eAdding Rust support in the \u003ccode\u003e.asfp-project\u003c/code\u003e file.\u003c/figcaption\u003e\n \u003c/figure\u003e\n\n\u003c!-- --\u003e\n\n1. **Sync your project:**\n\n - After performing the previous steps, you need to trigger a project sync to ensure that all changes are applied and the IDE recognizes the Rust project: Go to **File \\\u003e Sync Project**.\n\nVerifying success\n\nAfter completing these steps:\n\n- You should see `rust-project.json` in your project view (under the source\n iml). This file is generated by Soong during analysis and symlinked to the\n repo root, which is necessary for LSP to provide language services. **DO\n NOT** edit this file directly; instead, re-sync to let Soong handle it.\n\n As a reminder, double check that `rust` is present under `other_languages`\n in your `.asfp-project` config.\n Ensure that `rust-project.json` has been generated.\n- You should see Rust-specific features (described and shown below) enabled in\n your IDE.\n\nKey Rust IDE features\n\n- **Code completion:** Get intelligent suggestions for Rust code, including\n items from other modules.\n\n Code completion suggesting items from a different Rust module.\n\n \u003cbr /\u003e\n\n- **Navigation:** Quickly jump to definitions and find usages of Rust symbols\n across your project.\n\n Navigating to the definition of a Rust symbol. Finding all usages of a Rust symbol.\n\n \u003cbr /\u003e\n\n- **Tooltips:** Hover over symbols to see type information and documentation.\n\n Tooltip showing type information for a Rust symbol from another module.\n\n \u003cbr /\u003e\n\n- **Inlay hints:** View type information and other contextual hints directly\n in the editor.\n\n Inlay hints showing type information within the code.\n\n \u003cbr /\u003e\n\n- **Structure view:** Navigate the structure of your Rust files using the\n **Structure** tool window (View \\\u003e Tool Windows \\\u003e Structure).\n\n The structure tool window showing the outline of a Rust file.\n\n \u003cbr /\u003e\n\n- **Refactoring:** Safely rename symbols and have all usages updated.\n\n Renaming a Rust symbol and updating all its references.\n\n \u003cbr /\u003e\n\n- **Real-time analysis:** Get instant feedback on errors and warnings in your\n Rust code.\n\n IDE showing real-time errors and warnings in Rust code.\n\n \u003cbr /\u003e"]]