Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Descripción general
Rust es un lenguaje de programación de sistemas moderno que se enfoca en el rendimiento y la seguridad, en particular, la seguridad de la memoria. Rust es cada vez más importante en el ecosistema de Android como una alternativa más segura a C/C++ para desarrollar componentes críticos del sistema, ya que ofrece mayor seguridad y estabilidad.
En esta página, se explica cómo configurar Android Studio for Platform (ASfP) para admitir el desarrollo en Rust dentro de tus proyectos del Proyecto de código abierto de Android (AOSP).
Requisitos previos
ASfP Installed: Verifica que ASfP esté instalado y en ejecución.
Confirmación de compra en la plataforma: Necesitas una confirmación de compra de la plataforma AOSP que funcione en tu máquina.
Cómo habilitar la compatibilidad con Rust
A continuación, se describe el proceso paso a paso para que la compatibilidad con Rust funcione en tu proyecto de ASfP:
Habilita Rust
Cuando crees un proyecto nuevo en el asistente de configuración, simplemente marca la casilla de Rust:
Casilla de verificación de Rust en el asistente de configuración de proyectos nuevos.
En el caso de los proyectos existentes, navega a tu configuración de .asfp-project y agrega 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>
Sincroniza tu proyecto:
Después de realizar los pasos anteriores, debes activar una sincronización del proyecto para asegurarte de que se apliquen todos los cambios y de que el IDE reconozca el proyecto de Rust. Para ello, ve a File > Sync Project.
Verifica si se realizó de forma correcta
Después de completar estos pasos, haz lo siguiente:
Deberías ver rust-project.json en la vista del proyecto (debajo del archivo iml de la fuente). Soong genera este archivo durante el análisis y lo vincula simbólicamente a la raíz del repositorio, lo que es necesario para que el LSP proporcione servicios de lenguaje. NO edites este archivo directamente. En su lugar, vuelve a sincronizarlo para que Soong lo controle.
Como recordatorio, vuelve a verificar que rust esté presente en other_languages en tu configuración de .asfp-project.
Asegúrate de que se haya generado rust-project.json.
Deberías ver las funciones específicas de Rust (que se describen y muestran a continuación) habilitadas en tu IDE.
Funciones clave del IDE de Rust
Finalización de código: Obtén sugerencias inteligentes para el código de Rust, incluidos elementos de otros módulos.
La función de finalización de código sugiere elementos de un módulo de Rust diferente.
Navegación: Salta rápidamente a las definiciones y encuentra los usos de los símbolos de Rust en todo tu proyecto.
Navegar a la definición de un símbolo de Rust.Cómo encontrar todos los usos de un símbolo de Rust.
Sugerencias: Coloca el cursor sobre los símbolos para ver información y documentación sobre los tipos.
Información sobre la herramienta que muestra información de tipo para un símbolo de Rust de otro módulo.
Sugerencias intercaladas: Consulta información sobre el tipo y otras sugerencias contextuales directamente en el editor.
Sugerencias intercaladas que muestran información sobre el tipo dentro del código.
Vista de estructura: Navega por la estructura de tus archivos Rust con la ventana de herramientas Structure (View > Tool Windows > Structure).
La ventana de herramientas de estructura que muestra el esquema de un archivo de Rust.
Refactorización: Cambia el nombre de los símbolos de forma segura y actualiza todos los usos.
Cambia el nombre de un símbolo de Rust y actualiza todas sus referencias.
Análisis en tiempo real: Obtén comentarios instantáneos sobre los errores y las advertencias en tu código de Rust.
IDE que muestra errores y advertencias en tiempo real en el código de Rust.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-09-05 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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"]]