Обзор
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: перейдите в меню Файл > Синхронизировать проект .
Проверка успеха
После выполнения этих шагов:
В представлении вашего проекта (в папке с исходным кодом iml) вы должны увидеть файл
rust-project.json. Этот файл генерируется Soong во время анализа и создает символическую ссылку на корневой каталог репозитория, что необходимо для предоставления языковых сервисов LSP. НЕ редактируйте этот файл напрямую; вместо этого выполните повторную синхронизацию, чтобы Soong обработал его.Напоминаем, что необходимо убедиться в наличии
rustв разделеother_languagesв вашем файле конфигурации.asfp-project.
Убедитесь, что rust-project.jsonсгенерирован.В вашей IDE должны быть включены специфические для Rust функции (описанные и показанные ниже).
Ключевые особенности Rust IDE
Автозавершение кода: Получайте интеллектуальные подсказки для кода на Rust, включая элементы из других модулей.

Автозавершение кода предлагает элементы из другого модуля Rust. Навигация: Быстрый переход к определениям и поиск примеров использования символов Rust в вашем проекте.

Переходим к определению символа Rust. 
Поиск всех случаев использования символа Rust. Всплывающие подсказки: Наведите курсор на символы, чтобы увидеть информацию о типе и документацию.

Всплывающая подсказка, отображающая информацию о типе символа Rust из другого модуля. Встроенные подсказки: Просматривайте информацию о типе и другие контекстные подсказки непосредственно в редакторе.

Встроенные подсказки, отображающие информацию о типах данных в коде. Просмотр структуры: Для навигации по структуре файлов Rust используйте окно инструментов «Структура» (Вид > Окна инструментов > Структура).

Окно инструментов структуры, отображающее контур файла Rust. Рефакторинг: Безопасное переименование символов и обновление всех мест их использования.

Переименование символа Rust и обновление всех ссылок на него. Анализ в реальном времени: получайте мгновенную обратную связь об ошибках и предупреждениях в вашем коде Rust.

IDE отображает ошибки и предупреждения в коде Rust в режиме реального времени.