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