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

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

لیست ویژگی های اختیاری

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

قابلیت کنترل خودرو مقدار رشته
خدمات 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

ویژگی های کنترل خودرو را فعال و غیرفعال کنید

می‌توانید پشتیبانی از ویژگی‌های ساخت‌های خود را به یکی از دو روش کنترل کنید، یا با پوشش‌های منابع زمان اجرا (RROs) یا از طریق لایه انتزاعی سخت‌افزار خودرو (VHAL).

از RRO ها استفاده کنید

از پیکربندی منبع به نام config_allowed_optional_car_features استفاده کنید که تمام ویژگی‌های اختیاری را که می‌توانید فعال کنید فهرست می‌کند. هنگامی که یک خودرو برای اولین بار بوت می شود، ویژگی های احتمالی خودروی اختیاری ذکر شده و در صورتی که توسط VHAL در لیست مسدود نشده باشند، فعال می شوند. برای آشنایی بیشتر با RRO ها، به تغییر مقدار منابع برنامه در زمان اجرا مراجعه کنید.

از VHAL استفاده کنید

لایه انتزاعی سخت افزار خودرو (VHAL) ویژگی ها را با خدمت به عنوان یک لیست بلاک برای غیرفعال کردن ویژگی های اختیاری خاص کنترل می کند. ویژگی VHAL با نام DISABLED_OPTIONAL_FEATURES ویژگی های اختیاری در پوشش را که قرار است غیرفعال شوند فهرست می کند. اگر این ویژگی وجود نداشته باشد، لیست ویژگی های اختیاری از RRO ها همه فعال می شوند. برای کسب اطلاعات بیشتر در مورد VHAL، به نمای کلی VHAL مراجعه کنید.

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