概要
Rust は、パフォーマンスと安全性(特にメモリ安全性)に重点を置いた最新のシステム プログラミング言語です。Rust は、重要なシステム コンポーネントを開発するための C/C++ のより安全な代替手段として、Android エコシステムでますます重要になっています。Rust は、セキュリティと安定性の向上を実現します。
このページでは、Android オープンソース プロジェクト(AOSP)プロジェクト内で Rust 開発をサポートするために、Android Studio for Platform(ASfP)を設定する手順について説明します。
前提条件
- ASfP Installed: ASfP がインストールされ、実行されていることを確認します。
- プラットフォームのチェックアウト: マシンで動作する AOSP プラットフォームのチェックアウトが必要です。
Rust のサポートを有効にする
ASfP プロジェクトで Rust サポートを有効にする手順は次のとおりです。
- Rust を有効にする - 設定ウィザードで新しいプロジェクトを作成する際に、Rust のチェックボックスをオンにするだけです。
   - 新しいプロジェクト設定ウィザードの Rust チェックボックス。 - 既存のプロジェクトの場合は、.asfp-project構成に移動して、other_languagesにrustを追加します。
 - 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 プロジェクトを認識するようにする必要があります。[File] > [Sync Project] に移動します。
 
成功を確認する
これらの手順を完了すると、次のようになります。
- プロジェクト ビュー(ソース iml の下)に - rust-project.jsonが表示されます。このファイルは、分析中に Soong によって生成され、リポジトリのルートにシンボリック リンクされます。これは、LSP が言語サービスを提供するために必要です。このファイルを直接編集しないでください。代わりに、Soong が処理するように再同期してください。- 念のため、 - .asfp-project構成の- other_languagesに- rustが存在することを確認してください。  - rust-project.jsonが生成されていることを確認します。
- IDE で Rust 固有の機能(下記で説明)が有効になっていることを確認します。 
Rust IDE の主な機能
- コード補完: 他のモジュールの項目など、Rust コードのインテリジェントな候補を取得します。   - 別の Rust モジュールの項目を提案するコード補完。 
- ナビゲーション: 定義にすばやく移動し、プロジェクト全体で Rust シンボルの使用箇所を見つけます。   - Rust シンボルの定義に移動する。   - Rust シンボルのすべての使用箇所を検索します。 
- ツールチップ: 記号にカーソルを合わせると、型情報とドキュメントが表示されます。   - 別のモジュールの Rust シンボルの型情報を表示するツールチップ。 
- インレイ ヒント: エディタで型情報やその他のコンテキスト ヒントを直接表示します。   - コード内の型情報を表示するインレイ ヒント。 
- 構造ビュー: [Structure] ツール ウィンドウ([View] > [Tool Windows] > [Structure])を使用して、Rust ファイルの構造をナビゲートします。   - Rust ファイルのアウトラインを表示する構造ツール ウィンドウ。 
- リファクタリング: シンボルを安全に名前変更し、すべての使用箇所を更新します。   - Rust シンボルの名前を変更し、そのすべての参照を更新します。 
- リアルタイム分析: Rust コードのエラーと警告に関するフィードバックを即座に取得します。   - Rust コードのリアルタイム エラーと警告を表示する IDE。 
