החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
שליטה בתכונות של שירות הרכב
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כברירת מחדל, רוב שירותי הרכב הם חובה ותמיד מופעלים. עם זאת, אפשר להגדיר קבוצת משנה של שירותי הרכב כאופציונליים, כי יכול להיות שחלק מהתכונות לא נתמכות בכל רכב.
רשימה של תכונות אופציונליות
בטבלה שבהמשך מפורטות התכונות האופציונליות של אמצעי הבקרה ברכב שאפשר להפעיל ולהשבית.
התכונה 'אמצעי בקרה ברכב' |
ערך מחרוזת |
---|
שירות 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.
למידע נוסף על RRO, ראו שינוי הערך של משאבי האפליקציה בזמן הריצה.
שימוש ב-VHAL
שכבת הפשטת החומרה של הרכב (VHAL) שולטת בתכונות על ידי שימוש ברשימת חסימה להשבתת תכונות אופציונליות ספציפיות. בנכס VHAL בשם DISABLED_OPTIONAL_FEATURES
מפורטות התכונות האופציונליות בשכבת-העל שצריך להשבית. אם המאפיין הזה לא קיים, כל התכונות האופציונליות מה-RROs מופעלות. מידע נוסף על VHAL זמין בסקירה הכללית על VHAL.
שימוש בפקודות מעטפת לניפוי באגים
דרך שלישית לשלוט בתכונות האופציונליות שרוצים להפעיל או להשבית היא באמצעות שתי פקודות מעטפת, שזמינות רק בגרסאות 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
איך בודקים אילו תכונות מופעלות
כשמנסים לנפות באגים בבעיות שקשורות לתכונות ספציפיות, כדאי לדעת אילו תכונות מופעלות ומדוע. כדי לדגום את המידע של feature-related
, מריצים את הפקודה:
adb shell dumpsys car_service --services CarFeatureController
הפקודה הזו מפרטת את סוגי המידע שמפורטים בהמשך.
ערך |
תיאור |
---|
mEnabledFeatures |
התכונות שמופעלות כרגע. |
mDefaultEnabledFeaturesFromConfig |
תכונות אופציונליות שמפורטות ב-config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
תכונות שצוינו על ידי VHAL להשבתה במאפיין VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
התכונות שיופעלו לאחר הפעלה מחדש. |
mPendingDisabledFeatures |
תכונות שמושבתות אחרי הפעלה מחדש. |
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-26 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-26 (שעון UTC)."],[],[],null,["# Car service feature control\n\nBy default, most car services are mandatory and are always enabled. However, you can\ndesignate a subset of car services to be *optional* because some features might not\nbe supported in every car.\n\nList of optional features\n-------------------------\n\nThe optional car control features you can enable and disable are listed in the table below.\n\n| Car control feature | String value |\n|-----------------------------------|---------------------------------------------|\n| Car EVS service | `car_evs_service` |\n| Car experimental keyguard service | `experimental_car_keyguard_service` |\n| Car navigation service | `car_navigation_service` |\n| Car occupant connection service | `car_occupant_connection_service` |\n| Car remote access service | `car_remote_access_service` |\n| Car remote device service | `car_remote_device_service` |\n| Car telemetry service | `car_telemetry_service` |\n| Car user notice service | `com.android.car.user.CarUserNoticeService` |\n| Cluster home service | `cluster_home_service` |\n| Diagnostic service | `diagnostic` |\n| Occupant awareness wervice | `occupant_awareness` |\n| Storage monitoring service | `storage_monitoring` |\n| Vehicle map service | `vehicle_map_service` |\n\nEnable and disable car control features\n---------------------------------------\n\nYou can control support for features in your builds in one of two ways, either with\nruntime resource overlays (RROs) or through the Vehicle Hardware Abstraction Layer (VHAL).\n\n### Use RROs\n\nUse the resource configuration named `config_allowed_optional_car_features`, which\nlists all the optional features you can enable. When a car is first booted up, possible\noptional car features are noted and are enabled if they're not blocklisted by the VHAL.\nTo learn more RROs, see\n[Change the value of an app's resources at runtime.](/docs/core/runtime/rros)\n\n### Use the VHAL\n\nThe Vehicle Hardware Abstraction Layer (VHAL) controls features by serving as a\nblocklist to disable specific optional features. The VHAL property named\n`DISABLED_OPTIONAL_FEATURES` lists the optional features in the overlay that\nare to be disabled. If this property doesn't exist, then the list of optional features from\nthe RROs are all enabled. To learn more about the VHAL, see the\n[VHAL overview](/docs/automotive/vhal).\n\n### Use debug shell commands\n\nA third way to control which optional features to enable or disable is through the use of a\npair of shell commands, which are available only in `user-debug` builds and are\nprovided for use by developers. The table in\n[List of optional features](#list) contains the values to use instead of\n`\u003cFEATURE_STRING_VALUE\u003e`.\n\nTo enable a feature: \n\n```\nadb root; adb shell cmd car_service enable-feature \u003cFEATURE_STRING_VALUE\u003e; adb reboot\n```\n\nTo disable a feature: \n\n```\nadb root; adb shell cmd car_service disable-feature \u003cFEATURE_STRING_VALUE\u003e; adb reboot\n```\n\nDetermine which features are enabled\n------------------------------------\n\nWhen debugging issues related to specific features, it can be helpful to know which features are\nenabled and why. To dump `feature-related` information, run: \n\n```\nadb shell dumpsys car_service --services CarFeatureController\n```\n\nThis command lists the types of information shown below.\n\n| Value | Description |\n|-------------------------------------|---------------------------------------------------------------------------------------------------|\n| `mEnabledFeatures` | Currently enabled features. |\n| `mDefaultEnabledFeaturesFromConfig` | Optional features listed in `config_allowed_optional_car_features`. |\n| `mDisabledFeaturesFromVhal` | Features specified by the VHAL to be disabled in the VHAL property, `DISABLED_OPTIONAL_FEATURES`. |\n| `mPendingEnabledFeatures` | Features to be enabled upon a reboot. |\n| `mPendingDisabledFeatures` | Features to be disabled after a reboot. |"]]