סקירה כללית
Rust היא שפת תכנות מודרנית למערכות שמתמקדת בביצועים ובבטיחות, במיוחד בבטיחות הזיכרון. השימוש ב-Rust הופך לחשוב יותר ויותר במערכת האקולוגית של Android כחלופה בטוחה יותר ל-C או ל-C++ לפיתוח רכיבי מערכת קריטיים, ומציע אבטחה ויציבות משופרות.
בדף הזה מוסבר איך להגדיר את Android Studio for Platform (ASfP) כדי לתמוך בפיתוח Rust בפרויקטים של פרויקט קוד פתוח של Android (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: בוחרים באפשרות ASfP > Sync > Sync Project.
אימות ההגדרה
אחרי שמבצעים את השלבים האלה, צריך לאמת את התוצאות הבאות:
הסמל
rust-project.jsonמופיע בתצוגת הפרויקט מתחת לקובץ המקור.iml. הקובץ הזה נוצר על ידי Soong במהלך הניתוח ומקושר באמצעות קישור סמלי לשורש המאגר, וזה נחוץ כדי ש-Language Server Protocol (LSP) יוכל לספק שירותי שפה. אל תערכו את הקובץ הזה ישירות. במקום זאת, סנכרנו מחדש כדי ש-Soong יטפל בו.מוודאים שהערך
rustמופיע בקטעother_languagesבהגדרות של.asfp-project.
מוודאים שנוצר rust-project.json.סביבת הפיתוח המשולבת (IDE) מאפשרת את התכונות הבאות שספציפיות ל-Rust.
תכונות מרכזיות של סביבת פיתוח משולבת (IDE) של Rust
- ניפוי באגים מובנה ב-LLDB והמחשות חזותיות של משתנים: ניפוי באגים בשירותי מכשיר של Rust פועלים מתוך Run > Attach to Android Process. אפשר גם להפעיל יעדים של
rust_testאוrust_test_hostישירות מסמלי השולייםAndroid.bpבאמצעות מאתר הבאגים המובנה LLDB של ASfP (lldb-dap), עם מדפיסים אוטומטיים שלString,Vec,HashMapו-Option. מידע נוסף זמין במאמר ניפוי באגים בקוד Rust. השלמת קוד: קבלת הצעות חכמות לקוד Rust, כולל פריטים ממודולים אחרים.
השלמת קוד שמציעה פריטים ממודול Rust אחר. ניווט: מעבר להגדרות ומציאת שימושים בסמלי Rust בפרויקט.
איך עוברים להגדרה של סמל Rust.
חיפוש כל השימושים בסמל Rust. הסברים קצרים: מעבירים את הסמן מעל סמלים כדי לראות מידע על הסוג ועל התיעוד.
הסבר קצר שמציג מידע על סוג של סמל Rust ממודול אחר. הצעות מוטבעות: אפשר לראות מידע על סוגים והצעות הקשריות אחרות ישירות בעורך.
רמזים מוטבעים שמציגים מידע על סוג בתוך הקוד. תצוגת מבנה: אפשר לנווט במבנה של קובצי Rust באמצעות חלון של הכלי Structure (מבנה) (View > Tool Windows > Structure (תצוגה > חלונות כלים > מבנה)).
חלון של הכלי מבנה שבו מוצג המתאר של קובץ Rust. Refactoring: שינוי שם של סמלים ועדכון כל השימושים בהם בצורה בטוחה.
שינוי השם של סמל Rust ועדכון כל ההפניות שלו. ניתוח בזמן אמת: קבלת משוב מיידי על שגיאות ואזהרות בקוד Rust.
סביבת פיתוח משולבת (IDE) שמציגה שגיאות ואזהרות בזמן אמת בקוד Rust.