בדף הזה מוסבר איך להוריד, לבנות ולהפעיל את AAOS SDV ב-Cuttlefish.
קבלת קוד המקור של AAOS SDV
פועלים לפי ההוראות שמופיעות במאמר הורדת קוד המקור של Android.
הגדרת סביבת ה-build
בספריית העבודה, מריצים את הסקריפט envsetup.sh כדי להגדיר את סביבת הפיתוח:
source build/envsetup.shהסקריפט הזה מייבא כמה פקודות שמאפשרות לעבוד עם קוד המקור של Android, כולל הפקודות שמופיעות בדף הזה. כדי לראות את המקור של הסקריפט, אפשר לעיין במאמר platform/build/envsetup.sh. כדי להציג את העזרה המובנית, מקלידים hmm.
בחירת יעד
לפני שיוצרים SDV, צריך לזהות יעד לבנייה. כדי לזהות את יעד הבנייה, משתמשים בפקודה lunch ואחריה מחרוזת שמייצגת את היעד שלשמו אתם בונים. לדוגמה, משתמשים בפקודה הזו כדי ליצור יעד לאמולטור Cuttlefish:
lunch sdv_core_cf-trunk_staging-userdebugהפקודה הזו בוחרת את המוצר, את הגדרת הגרסה ואת הווריאנט לבנייה, ושומרת את הבחירה בסביבה.
lunch יעדי ה-SDV מסופקים בפרויקט Git נפרד שנמצא בספרייה devices/google/sdv. תיאור מפורט של יעדים זמינים מופיע בכתובת device/google/sdv/README.md. יעדי Cuttlefish (cf) העיקריים הם:
-
sdv_core_cf-trunk_staging-userdebug– יצירת תמונה של AAOS SDV Core (sdv_core) שפועלת ב-Cuttlefish (cf). -
sdv_media_cf-trunk_staging-userdebug– יצירת תמונה של AAOS SDV Core עם ממשקי API של מדיה וירטואלית של virtIO (sdv_media). -
sdv_media_har_cf-trunk_staging-userdebug– יצירת תמונה שמרחיבה את יעד המדיה של AAOS SDV (sdv_media_cf)lunchכך שיכיל את רכיב העיבוד הגרפי של זמינות גבוהה (HAR). ה-HAR מופעל אוטומטית בזמן האתחול. -
sdv_ivi_cf-trunk_staging-userdebug– יצירת תמונה של מערכת מידע ובידור (IVI) ברכב שמכילה את שער ה-SDV ואת אפליקציות לדוגמה ב-Java. sdv_ivi_cf_ds-trunk_staging-userdebug– יצירת תמונה שמרחיבה את יעד ה-SDV IVI של AAOS (sdv_ivi_cf) וכוללת הטמעה של DriverUI ושל Instrument Cluster של Display Safety.
יצירת AAOS SDV
מריצים את הפקודה הבאה כדי ליצור את היעד. בהתאם למפרט של תחנת העבודה, הבנייה הראשונה נמשכת בין 30 ל-60 דקות. הגרסאות הבאות ייבנו בזמן קצר בהרבה.
mהפלט של הבנייה יופיע ב-$OUT_DIR. אם יוצרים יעדים שונים, כל יעד מופיע ב-$OUT_DIR.
בדיקת גרסת ה-build באמצעות Cuttlefish
אחרי שיוצרים את AAOS SDV, בודקים את ה-build באמצעות Cuttlefish.
כדי להפעיל את Cuttlefish עם גרסת ה-build:
cvd createCuttlefish פועל באמצעות יעד ה-build שלכם (
sdv_core_cf-trunk_staging-userdebug). אחרי ש-Cuttlefish מופעל, מוצגת ההודעה הבאה:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyמריצים את הפקודה
adbכדי להתחבר ל-Cuttlefish.מריצים את הפקודה
adb devicesכדי לוודא שגרסת ה-build פועלת. מוצגת תוצאה דומה לזו:List of devices attached 0.0.0.0:6520 deviceמריצים את הפקודה
cvd stopכדי לכבות את המכשיר.
כדי להפעיל כמה מופעים של Cuttlefish עם גרסאות build שונות, אפשר לעיין במאמר Cuttlefish: ריבוי דיירים.
פתרון בעיות
בקטע הזה מוסבר איך לפתור בעיות שעלולות להתרחש במהלך ההורדה, הבנייה או ההפעלה של AAOS SDV.
שגיאות RBE
אם נתקלתם בשגיאות בהפעלת Remote Build Execution (RBE), צריך להסיר את ההגדרות של USE_RBE ושל ENABLE_RBE_BOOTSTRAP מ-.bashrc או מ-.zshrc.
cvd: VM manager crosvm isn't supported on this machine
אם Cuttlefish מדווח שמנהל המכונות הווירטואליות crosvm לא נתמך במחשב שלכם, מריצים את הפקודה הבאה כדי להתקין את Cuttlefish:
sudo apt install cuttlefish-commonלא נמצא cvd
אם מופיעה השגיאה cvd not found:
- מגדירים מחדש את הגרסה.
- ממשיכים עם בחירת יעד.
Cuttlefish crash loops
אם Cuttlefish נכנס ללולאת קריסה:
- כדי להפסיק את כל המופעים של Cuttlefish, מריצים את הפקודה
cvd stop. - איך משתמשים ב-Cuttlefish כדי לבדוק מחדש את ה-build