總覽
Rust 是一種現代系統程式設計語言,著重效能和安全性,尤其是記憶體安全。在 Android 生態系統中,Rust 的重要性日益增加,因為它是 C 或 C++ 的安全替代方案,可用於開發重要系統元件,提供更優異的安全性與穩定性。
本頁面將逐步說明如何設定 Android Studio for Platform (ASfP),以便在 Android 開放原始碼計畫 (AOSP) 專案中支援 Rust 開發。
必要條件
- 已安裝 ASfP:確認您已安裝並執行 ASfP。
- 平台結帳:您需要在電腦上進行 Android 開放原始碼計畫平台結帳。
啟用 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 處理。確認
rust是否位於.asfp-project設定中的other_languages下方。
確認 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 符號類型資訊。 插頁提示:直接在編輯器中查看型別資訊和其他脈絡提示。
程式碼中顯示型別資訊的內嵌提示。 結構檢視畫面:使用「Structure」工具視窗 (依序點選「View」>「Tool Windows」>「Structure」),瀏覽 Rust 檔案的結構。
結構工具視窗,顯示 Rust 檔案的大綱。 重構:安全地重新命名符號,並更新所有用法。
重新命名 Rust 符號,並更新所有參照。 即時分析:即時取得 Rust 程式碼的錯誤和警告回饋。
IDE 會即時顯示 Rust 程式碼中的錯誤和警告。