概览
Rust 是一种现代系统编程语言,专注于性能和安全性,尤其是内存安全性。在 Android 生态系统中,Rust 作为 C 或 C++ 的更安全替代方案,在开发关键系统组件方面发挥着越来越重要的作用,可提供更高的安全性和稳定性。
本页将引导您设置 Android Studio for Platform (ASfP),以便在 Android 开源项目 (AOSP) 项目中支持 Rust 开发。
前提条件
- 已安装 ASfP:验证您是否已安装并运行 ASfP。
- 平台签出:您需要在自己的机器上签出可正常运行的 AOSP 平台。
启用 Rust 支持
以下是在 ASfP 项目中启用 Rust 支持的分步流程:
启用 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 crate 并为其编制索引:依次选择 ASfP > Sync > Sync Project。
验证配置
完成这些步骤后,请验证以下结果:
rust-project.json会显示在项目视图中的源.iml文件下。此文件由 Soong 在分析期间生成,并符号链接到代码库根目录,这是语言服务器协议 (LSP) 提供语言服务所必需的。请勿直接修改此文件;而是重新同步,让 Soong 处理此文件。验证
.asfp-project配置中的other_languages下是否存在rust。
确保已生成 rust-project.json。您的 IDE 支持以下 Rust 专用功能。
Rust IDE 的主要功能
- 内置 LLDB 调试和变量可视化工具:通过依次选择 Run > Attach to Android Process 调试正在运行的 Rust 设备服务。您还可以使用 ASfP 的内置 LLDB 调试程序 (
lldb-dap) 通过Android.bp边栏图标直接启动rust_test或rust_test_host目标,并为String、Vec、HashMap和Option提供自动美观输出。如需了解详情,请参阅调试 Rust 代码。 代码补全:获取 Rust 代码的智能建议,包括来自其他模块的项目。
代码补全功能建议了来自其他 Rust 模块的项。 导航:跳转到定义,并在整个项目中查找 Rust 符号的用法。
前往 Rust 符号的定义。
查找 Rust 符号的所有用法。 提示:将指针悬停在符号上可查看类型信息和文档。
显示来自其他模块的 Rust 符号的类型信息的提示。 嵌入提示:直接在编辑器中查看类型信息和其他情境提示。
在代码中显示类型信息的嵌入提示。 结构视图:使用结构工具窗口(View > Tool Windows > Structure)浏览 Rust 文件的结构。
显示 Rust 文件轮廓的“结构”工具窗口。 重构:安全地重命名符号并更新所有用法。
重命名 Rust 符号并更新其所有引用。 实时分析:即时获取有关 Rust 代码中错误和警告的反馈。
IDE 显示 Rust 代码中的实时错误和警告。