Übersicht
Rust ist eine moderne Systemprogrammiersprache, die auf Leistung und Sicherheit, insbesondere Speichersicherheit, ausgerichtet ist. Rust wird im Android-Ökosystem immer wichtiger, da es eine sicherere Alternative zu C oder C++ für die Entwicklung wichtiger Systemkomponenten darstellt und für mehr Sicherheit und Stabilität sorgt.
Auf dieser Seite erfahren Sie, wie Sie Android Studio for Platform (ASfP) einrichten, um die Rust-Entwicklung in Ihren AOSP-Projekten (Open-Source-Projekt für Android) zu unterstützen.
Vorbereitung
- ASfP installiert: Prüfen Sie, ob ASfP installiert ist und ausgeführt wird.
- Plattform-Checkout: Sie benötigen einen funktionierenden AOSP-Plattform-Checkout auf Ihrem Computer.
Rust-Unterstützung aktivieren
So aktivierst du die Rust-Unterstützung in deinem ASfP-Projekt:
Rust aktivieren
- Wenn Sie im Einrichtungsassistenten ein neues Projekt erstellen, setzen Sie ein Häkchen bei Rust:
Das Kästchen „Rust“ im Einrichtungsassistenten für neue Projekte. - Öffnen Sie für bestehende Projekte die Konfigurationsdatei
.asfp-projectund fügen Sierustzuother_languageshinzu:
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>
Projekt synchronisieren
Lösen Sie eine Projektsynchronisierung aus, damit die IDE Ihre Rust-Crates generiert und indexiert: Wählen Sie ASfP > Sync > Sync Project aus.
Konfiguration überprüfen
Prüfen Sie nach Abschluss dieser Schritte die folgenden Ergebnisse:
rust-project.jsonwird in der Projektansicht unter der Quelldatei.imlangezeigt. Diese Datei wird von Soong während der Analyse generiert und mit dem Repository-Stammverzeichnis verknüpft. Das ist erforderlich, damit das Language Server Protocol (LSP) Sprachdienste bereitstellen kann. Bearbeiten Sie diese Datei nicht direkt, sondern synchronisieren Sie sie neu, damit Soong sie verarbeiten kann.Prüfen Sie, ob
rustin der.asfp-project-Konfiguration unterother_languagesvorhanden ist.
Prüfen, ob rust-project.jsongeneriert wurde.Ihre IDE bietet die folgenden Rust-spezifischen Funktionen.
Wichtige Rust-IDE-Funktionen
- Integrierte LLDB-Debugging- und Variablenvisualisierung: Sie können laufende Rust-Gerätedienste über Ausführen > An Android-Prozess anhängen debuggen. Sie können
rust_test- oderrust_test_host-Ziele auch direkt überAndroid.bp-Gutter-Symbole mit dem integrierten LLDB-Debugger (lldb-dap) von ASfP starten. Dabei werden automatisch Pretty-Printer fürString,Vec,HashMapundOptionverwendet. Weitere Informationen finden Sie unter Rust-Code debuggen. Codevervollständigung: Sie erhalten intelligente Vorschläge für Rust-Code, einschließlich Elementen aus anderen Modulen.
Codevervollständigung schlägt Elemente aus einem anderen Rust-Modul vor. Navigation: Sie können zu Definitionen springen und die Verwendung von Rust-Symbolen in Ihrem Projekt suchen.
Zur Definition eines Rust-Symbols navigieren
Alle Verwendungen eines Rust-Symbols finden. Kurzinfos: Bewegen Sie den Mauszeiger auf Symbole, um Typinformationen und Dokumentation aufzurufen.
Kurzinfo mit Typinformationen für ein Rust-Symbol aus einem anderen Modul. Inlay-Hinweise: Informationen zum Ansichtstyp und andere kontextbezogene Hinweise werden direkt im Editor angezeigt.
Inlay-Hinweise mit Typinformationen im Code. Strukturansicht: Sie können die Struktur Ihrer Rust-Dateien über das Toolfenster Structure (View > Tool Windows > Structure) aufrufen.
Das Struktur-Toolfenster mit dem Umriss einer Rust-Datei. Refactoring: Symbole sicher umbenennen und alle Verwendungen aktualisieren.
Ein Rust-Symbol umbenennen und alle zugehörigen Referenzen aktualisieren. Echtzeitanalyse: Sie erhalten sofortiges Feedback zu Fehlern und Warnungen in Ihrem Rust-Code.
IDE showing real-time errors and warnings in Rust code.