כברירת מחדל, רוב שירותי הרכב הם חובה ומופעלים תמיד. עם זאת, אפשר להגדיר קבוצת משנה של שירותי רכב כאופציונליים, כי יכול להיות שחלק מהתכונות לא נתמכות בכל רכב.
רשימה של תכונות אופציונליות
בטבלה שבהמשך מפורטות התכונות האופציונליות של השליטה ברכב שאפשר להפעיל ולהשבית.
התכונה 'אמצעי הבקרה של הרכב' | ערך מחרוזת |
---|---|
שירות Car EVS | car_evs_service |
שירות ניסיוני של מגן מקשים לרכב | experimental_car_keyguard_service |
שירות ניווט ברכב | car_navigation_service |
שירות חיבור לנוסעים ברכב | car_occupant_connection_service |
שירות גישה מרחוק לרכב | car_remote_access_service |
שירות מכשיר שלט לרכב | car_remote_device_service |
שירות טלמטריה של המכונית | car_telemetry_service |
שירות הודעות למשתמשי רכב | com.android.car.user.CarUserNoticeService |
שירות ביתי באשכול | cluster_home_service |
שירות אבחון | diagnostic |
שירות המודעות לתפוסה (Occupant Awareness) | occupant_awareness |
שירות ניטור אחסון | storage_monitoring |
שירות מפות לרכב | vehicle_map_service |
הפעלה והשבתה של תכונות השליטה ברכב
יש שתי דרכים לשלוט בתמיכה בתכונות בגרסאות ה-build שלכם: באמצעות שכבות-על של משאבים בזמן ריצה (RRO) או באמצעות שכבת הפשטה של חומרה לרכב (VHAL).
שימוש ב-RRO
משתמשים בהגדרת המשאב שנקראת config_allowed_optional_car_features
, שבה מפורטות כל התכונות האופציונליות שאפשר להפעיל. כשמפעילים את הרכב בפעם הראשונה, מציינים את התכונות האופציונליות האפשריות של הרכב ומפעילים אותן אם הן לא מופיעות ברשימת החסימה של VHAL.
מידע נוסף על RROs זמין במאמר בנושא שינוי הערך של משאבי אפליקציה בזמן ריצה.
שימוש ב-VHAL
שכבת ההפשטה של חומרת הרכב (VHAL) שולטת בתכונות על ידי שימוש ברשימת חסימה להשבתה של תכונות אופציונליות ספציפיות. המאפיין VHAL שנקרא
DISABLED_OPTIONAL_FEATURES
מפרט את התכונות האופציונליות בשכבת העל שצריך להשבית. אם המאפיין הזה לא קיים, כל התכונות האופציונליות מ-RRO מופעלות. מידע נוסף על VHAL זמין בסקירה הכללית על VHAL.
שימוש בפקודות Shell לניפוי באגים
דרך שלישית לקבוע אילו תכונות אופציונליות להפעיל או להשבית היא באמצעות זוג פקודות של מעטפת, שזמינות רק בגרסאות build של user-debug
ומיועדות לשימוש על ידי מפתחים. הטבלה שבקטע רשימת התכונות האופציונליות מכילה את הערכים שבהם צריך להשתמש במקום <FEATURE_STRING_VALUE>
.
כדי להפעיל תכונה:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
כדי להשבית תכונה:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
איך יודעים אילו תכונות מופעלות
כשמנסים לפתור בעיות שקשורות לתכונות ספציפיות, כדאי לדעת אילו תכונות מופעלות ולמה. כדי ליצור dump של מידע על feature-related
, מריצים את הפקודה:
adb shell dumpsys car_service --services CarFeatureController
הפקודה הזו מציגה את סוגי המידע שמופיעים בהמשך.
ערך | תיאור |
---|---|
mEnabledFeatures |
התכונות שמופעלות כרגע. |
mDefaultEnabledFeaturesFromConfig |
תכונות אופציונליות שמפורטות בconfig_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
תכונות שצוינו על ידי VHAL להשבתה במאפיין VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
התכונות שיופעלו אחרי הפעלה מחדש. |
mPendingDisabledFeatures |
תכונות שיושבתו אחרי הפעלה מחדש. |