Обзор
Rust — современный язык системного программирования, ориентированный на производительность и безопасность, особенно на безопасность памяти. Rust приобретает всё большую значимость в экосистеме Android как более безопасная альтернатива C/C++ для разработки критически важных системных компонентов, обеспечивая повышенную безопасность и стабильность.
На этой странице вы узнаете, как настроить Android Studio for Platform (ASfP) для поддержки разработки Rust в ваших проектах Android Open Source Project (AOSP).
Предпосылки
- ASfP установлен: Убедитесь, что ASfP установлен и работает.
- Проверка платформы: на вашем компьютере должна быть установлена рабочая проверка платформы AOSP.
Включение поддержки Rust
Вот пошаговый процесс включения поддержки Rust в ваш проект ASfP:
Включить Rust
- При создании нового проекта в мастере настройки просто отметьте галочкой Rust:
Флажок Rust в мастере настройки нового проекта. - Для существующих проектов перейдите в конфигурацию вашего
.asfp-project
и добавьте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>
Синхронизируйте свой проект:
- После выполнения предыдущих шагов необходимо запустить синхронизацию проекта, чтобы убедиться, что все изменения применены и IDE распознает проект Rust: Перейдите в Файл > Синхронизировать проект .
Проверка успеха
После выполнения этих шагов:
Файл
rust-project.json
должен отображаться в окне проекта (под исходным IML-файлом). Этот файл генерируется Soong во время анализа и создаётся символической ссылкой на корень репозитория, что необходимо для предоставления языковых сервисов LSP. НЕ редактируйте этот файл напрямую; вместо этого выполните повторную синхронизацию, чтобы Soong мог им заняться.Напоминаем, что дважды проверьте наличие
rust
в разделеother_languages
вашего.asfp-project
-config.Убедитесь, что rust-project.json
был сгенерирован.В вашей среде IDE должны быть включены специфичные для Rust функции (описанные и показанные ниже).
Основные возможности Rust IDE
Автодополнение кода: получайте интеллектуальные предложения по коду Rust, включая элементы из других модулей.
Автодополнение кода предлагает элементы из другого модуля Rust. Навигация: быстро переходите к определениям и находите примеры использования символов Rust в вашем проекте.
Переход к определению символа Rust. Поиск всех использований символа Rust. Подсказки: наведите указатель мыши на символы, чтобы увидеть информацию о типе и документацию.
Подсказка, показывающая информацию о типе символа Rust из другого модуля. Встроенные подсказки: просматривайте информацию о типе и другие контекстные подсказки непосредственно в редакторе.
Встроенные подсказки, показывающие информацию о типе кода. Вид структуры: перемещайтесь по структуре файлов Rust с помощью окна инструментов «Структура» (Вид > Окна инструментов > Структура).
Окно инструмента структуры, показывающее контур файла Rust. Рефакторинг: безопасное переименование символов и обновление всех случаев использования.
Переименование символа Rust и обновление всех его ссылок. Анализ в реальном времени: получайте мгновенную обратную связь об ошибках и предупреждениях в вашем коде Rust.
IDE, отображающая ошибки и предупреждения в реальном времени в коде Rust.