به طور پیشفرض، اکثر سرویسهای خودرو اجباری هستند و همیشه فعال میباشند. با این حال، میتوانید زیرمجموعهای از سرویسهای خودرو را به صورت اختیاری تعیین کنید زیرا برخی از ویژگیها ممکن است در هر خودرویی پشتیبانی نشوند.
فهرست ویژگیهای اختیاری
ویژگیهای اختیاری کنترل خودرو که میتوانید فعال و غیرفعال کنید در جدول زیر فهرست شدهاند.
| قابلیت کنترل خودرو | مقدار رشتهای |
|---|---|
| خدمات خودروهای برقی (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 |
| سرویس نظارت بر ذخیرهسازی | storage_monitoring |
| سرویس نقشه خودرو | vehicle_map_service |
فعال و غیرفعال کردن ویژگیهای کنترل خودرو
شما میتوانید پشتیبانی از ویژگیهای موجود در نسخههای خود را به یکی از دو روش کنترل کنید، یا با استفاده از پوششهای منابع زمان اجرا (RRO) یا از طریق لایه انتزاعی سختافزار خودرو (VHAL).
از RRO ها استفاده کنید
از پیکربندی منبع با نام config_allowed_optional_car_features استفاده کنید، که تمام ویژگیهای اختیاری قابل فعالسازی را فهرست میکند. وقتی یک ماشین برای اولین بار بوت میشود، ویژگیهای اختیاری احتمالی ماشین یادداشت میشوند و اگر توسط VHAL در لیست سیاه قرار نگرفته باشند، فعال میشوند. برای کسب اطلاعات بیشتر در مورد RROها، به بخش تغییر مقدار منابع یک برنامه در زمان اجرا مراجعه کنید.
از VHAL استفاده کنید
لایه انتزاعی سختافزار خودرو (VHAL) با عمل کردن به عنوان یک لیست مسدودکننده برای غیرفعال کردن ویژگیهای اختیاری خاص، ویژگیها را کنترل میکند. ویژگی VHAL با نام DISABLED_OPTIONAL_FEATURES ، ویژگیهای اختیاری موجود در لایه پوششی را که باید غیرفعال شوند، فهرست میکند. اگر این ویژگی وجود نداشته باشد، فهرست ویژگیهای اختیاری از RROها همگی فعال میشوند. برای کسب اطلاعات بیشتر در مورد VHAL، به نمای کلی VHAL مراجعه کنید.
استفاده از دستورات اشکالزدایی پوسته
راه سوم برای کنترل فعال یا غیرفعال کردن ویژگیهای اختیاری، استفاده از یک جفت دستور shell است که فقط در نسخههای 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 | ویژگیهایی که پس از راهاندازی مجدد غیرفعال میشوند. |