Android Studio for Platform (ASfP) היא סביבת הפיתוח המשולבת (IDE) המומלצת לפיתוח פלטפורמת Android, כולל פרויקטים של תוכנה לרכב (SDV) של מערכת ההפעלה Android Automotive (AAOS). ASfP מספקת מגוון רחב של כלים לעריכת קוד, ל-build, לניפוי באגים ולבדיקה, כולל:
- עזרה מבוססת-AI (Gemini)
- תמיכה בשפות Rust, C או C++, Java
- שילובים שימושיים לפיתוח SDV ב-AAOS (לדוגמה, תמיכה באמולטור Cuttlefish ותמיכה בשפת VSIDL)
התקנה של Android Studio ל-Platform
כדי להתקין את ASfP:
מורידים את Android Studio for Platform.
בוחרים את הגרסה שהכי מתאימה לצרכים שלכם:
- יציב: הגרסה העדכנית ביותר לסביבת הייצור, מומלצת לרוב המשתמשים
- Canary: גרסאות גישה מוקדמת עם התכונות החדשות ביותר, אבל יכול להיות שהן פחות יציבות
פועלים לפי הוראות ההתקנה שמופיעות בדף ההורדה.
הגדרה של פרויקט SDV ב-AAOS
כדי להגדיר פרויקט SDV ב-AAOS:
מוודאים שיש לכם גישה למאגר קוד המקור של AAOS SDV, ושהפעלתם את הפקודות init ו-sync כדי להוריד את המאגר למחשב. פרטים על גישה למקור ועל הפעלת המאגר מופיעים במאמר בנושא הורדה, בנייה והפעלה.
מפעילים את Android Studio ל-Platform.
אם זו הפעם הראשונה שאתם משתמשים ב-Android Studio, אתם צריכים לפעול לפי ההוראות באשף ההגדרה כדי להתאים אישית את סביבת הפיתוח.
כדי ליצור פרויקט חדש:
- אם אין לכם פרויקט פתוח, לוחצים על חדש במסך הפתיחה.
- אם כבר פתוח פרויקט, לוחצים על Open או בוחרים באפשרות ASfP > Project > Import ASfP Project מהתפריט.
ממלאים את פרטי הגדרות הפרויקט באשף:
Repo checkout: Specify the absolute path to the root of your local AAOS SDV source code checkout (for example,
/path/to/sdv_source).יעד לארוחת צהריים: מזינים את היעד המתאים לפיתוח AAOS SDV ב-Cuttlefish, לדוגמה,
sdv_core_cf-trunk_staging-userdebug. מידע נוסף על היעדים הזמינים מופיע במאמר בחירת יעד.מקורות הפרויקט: מזינים את הספריות או המודולים הראשוניים שרוצים לכלול בפרויקט, או לוחצים על סמל התיקייה כדי לפתוח את דפדפן מערכת הקבצים ולבחור את הספריות. בחירה של יותר מדי ספריות או מודולים משפיעה על ההוספה לאינדקס ועל ביצועי החיפוש של סביבת הפיתוח המשולבת, ולכן צריך לכלול רק ספריות או מודולים רלוונטיים.
תמיכה בשפות: בוחרים ב-Rust וב-C++ כשפות נתמכות.
שם הפרויקט: נותנים לפרויקט שם תיאורי.
סיום ההגדרה: לוחצים על סיום. ASfP יוצר את מבנה הפרויקט ואת קובץ התצורה
.asfp-project.
ASfP מתחיל באופן אוטומטי תהליך סנכרון ראשוני. הכלי ASfP מנתח את קוד המקור, פותר יחסי תלות באמצעות מערכת ה-build של Soong ובונה את המידע שנדרש לתכונות של ניתוח קוד. התהליך הזה יכול להימשך זמן רב, במיוחד בסנכרון הראשון.
התאמה אישית של הפרויקט
קובץ .asfp-project בתיקיית השורש של הפרויקט מאפשר התאמה אישית נוספת. אפשר לערוך את הקובץ הזה כדי:
- להוסיף או להסיר ספריות ומודולים.
- להפעיל תמיכה בשפות אחרות, כמו C++ או Rust (השפות Java ו-Kotlin מוגדרות כברירת מחדל).
- הגדרת דגלים של build.
כדי לבצע שינויים בקובץ ההגדרות, בוחרים באפשרות ASfP > Project > Open Config (ASfP > פרויקט > פתיחת הגדרות). במאמר סקירה כללית על פרויקטים מפורטות אפשרויות ההגדרה הזמינות.
ניפוי באגים ובדיקה
כדי לנפות באגים ולבדוק קוד ב-ASfP, אפשר לעיין במאמרים בנושא ניפוי באגים בקוד של הפלטפורמה ובדיקת קוד של הפלטפורמה באמצעות atest.
שילובים זמינים
חבילת הכלים ASfP כוללת כמה שילובים שימושיים לפיתוח SDV ב-AAOS, כולל תמיכה ב-Cuttlefish וב-Language Server Protocol (LSP) ב-VSIDL.
הפלאגין Cuttlefish
התוסף Cuttlefish מאפשר למשתמשים ליצור ולהפעיל מכשירי Cuttlefish מקומיים ישירות מ-ASfP.
התקנת הפלאגין
הפלאגין Cuttlefish מותקן מראש ב-ASfP ולא צריך להגדיר אותו. כדי להשתמש בתוסף, צריך להתקין את כלי Cuttlefish במכשיר. אם צריך, פועלים לפי ההוראות כדי להתקין את כלי Cuttlefish.
יצירת מכשיר Cuttlefish
כדי ליצור מכשיר חדש:
פותחים את חלון הכלי 'ניהול מכשירים' על ידי בחירה באפשרות כלים > ניהול מכשירים או על ידי לחיצה על הסמל מכשירים פעילים בחלונית השמאלית, אם הכלי 'ניהול מכשירים' כבר מוצמד שם.
לוחצים על הסמל + ובוחרים באפשרות יצירת מכשיר Cuttlefish.
מגדירים את מכשיר Cuttlefish החדש. אפשר ליצור מכשירי Cuttlefish בשתי דרכים:
מתוך עץ המקור המקומי של Android:
- בוחרים את הנתיב ליעד המובנה שמתאים להגדרת ההשקה (פרטים נוספים זמינים במאמר בנושא בחירת יעד).
- בוחרים את נתיב המארח.
- אפשר גם לבחור את הגדרות המכשיר הזמינות או באפשרות ללא כדי להשתמש בהגדרות ברירת המחדל.
מההגדרה הקנונית (משתמשים באפשרות הזו כדי ליצור כמה מכשירים מההגדרה היחידה):
- בוחרים את הנתיב להגדרת המכשיר.
- אופציונלי: מספקים דגלי שינוי כדי לשנות את אפשרויות ההגדרה.
מחכים עד שמכשיר Cuttlefish נוצר ומוסף לרשימת המכשירים הפועלים ב-Device Manager.
בתפריט Running Devices (מכשירים פועלים), בוחרים את מכשיר Cuttlefish.
כדי להפעיל או להפסיק מכשירי Cuttlefish ספציפיים, לוחצים על סמל ההפעלה או ההפסקה שלצד המכשיר במנהל המכשירים.
גישה לדף המכשיר של Cuttlefish
לתוסף Cuttlefish יש חלון כלים שבו מוצג הדף Cuttlefish Device, שדרכו אפשר לגשת לתכונות של שיקוף המסך.
כדי לפתוח את חלון הכלים של Cuttlefish, לוחצים על הסמל ... בחלונית הימנית ובוחרים באפשרות Cuttlefish. לחלופין, אפשר לחפש את Cuttlefish בתפריט Help > Find Action (עזרה > חיפוש פעולה).
פרוטוקול שרת שפה ב-VSIDL
ב-VSIDL, LSP מספקת קבוצה עשירה של תכונות IDE כדי לשפר את תהליך הפיתוח כשעובדים עם קובצי VSIDL (עם סיומת .vsidl) ב-ASfP.
הדגשת תחביר סמנטי
שרת ה-LSP מספק הדגשה של תחביר בקובצי VSIDL.
מה היא עושה: מדגישה מילות מפתח (
service_bundle,publisher), שדות (package:,message:) וערכים מילוליים.איך מנסים: פותחים קובץ VSIDL כלשהו. הקובץ מקבל קידוד צבעוני כדי להבחין בין מילות מפתח מבניות לבין מזהים שהוגדרו על ידי המשתמש.
ניתוח בזמן אמת (שגיאות ואזהרות)
שרת ה-LSP מאמת קבצים באופן רציף ומדווח על בעיות בזמן אמת.
מה היא עושה: היא מזהה שגיאות תחביר, הפניות לסוגים לא תקינים ושגיאות אחרות בכל הקטלוג ובפריטים שתלויים בו.
איך מנסים: מקלידים שם של הודעה עם שגיאת כתיב (לדוגמה,
TiiirePressure). מתחת לשגיאת הכתיב מופיע קו אדום גלי. מעבירים את העכבר מעל המילה כדי לראות את הודעת השגיאה, או מעיינים ברשימה המלאה בחלון הכלים Problems בתחתית סביבת הפיתוח המשולבת (IDE).
ניווט ואינטליגנציה
אתם יכולים להשתמש בתכונות הניווט והתובנות כדי לבדוק את הקשרים בין חלקים שונים בקטלוג VSIDL.
השלמה אוטומטית: מקישים על Control+Space כדי לראות הצעות למילות מפתח, להודעות protobuf, לשירותי RPC, לנושאים ולערוצים. ההצעות למילות מפתח כוללות הסברים קצרים ומועילים על המטרה שלהן ישירות בתפריט ההשלמה. בנוסף, LSP מספק קטעי קוד חכמים לבלוקים כמו
publisherאוserverכדי לייעל את תהליך העבודה.מעבר להגדרה: לוחצים על Control (או מקישים על Control+B) ומחזיקים אותו לחוץ, ואז לוחצים על הודעה, שירות, נושא או הפניה לערוץ כדי לעבור ישירות להגדרת המקור שלו, גם אם הוא נמצא בקובץ VSIDL או protobuf אחר.
חיפוש הפניות: מציבים את הסמן על מילת המפתח
publisher,subscriber,serverאוclientומקישים על Alt+Shift+F7 כדי למצוא את כל המופעים.מידע בהעברת העכבר: מעבירים את הסמן לסוג או למאפיין (או מקישים על Control+Q). מופיע תיאור קצר עם הערות התיעוד (אם יש כאלה).
תכונות מבניות
שרת ה-LSP עוזר לכם לנהל את המבנה של קובצי VSIDL גדולים ולנווט בהם:
סמלי מסמך (מתאר): מקישים על Control+F12 כדי לראות הסבר קצר של הניווט, או פותחים את חלון של הכלי מבנה (Control+Alt+7) כדי לראות תצוגת עץ של כל החבילות והיחידות בקובץ.
קיפול טווחים: לוחצים על הסמלים > או V בשוליים (לצד מספרי השורות) כדי לכווץ או להרחיב בלוקים לוגיים גדולים כמו
service_bundleאו הגדרות מיפוי.עיצוב המסמך: מקישים על Control+Alt+L כדי לעצב מחדש את הקובץ באופן אוטומטי, וליצור הזחה וריווח עקביים.