کنترل ویژگی سرویس خودرو

به طور پیش‌فرض، اکثر سرویس‌های خودرو اجباری هستند و همیشه فعال می‌باشند. با این حال، می‌توانید زیرمجموعه‌ای از سرویس‌های خودرو را به صورت اختیاری تعیین کنید زیرا برخی از ویژگی‌ها ممکن است در هر خودرویی پشتیبانی نشوند.

فهرست ویژگی‌های اختیاری

ویژگی‌های اختیاری کنترل خودرو که می‌توانید فعال و غیرفعال کنید در جدول زیر فهرست شده‌اند.

قابلیت کنترل خودرو مقدار رشته‌ای
خدمات خودروهای برقی (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 ویژگی‌هایی که پس از راه‌اندازی مجدد غیرفعال می‌شوند.