कार सर्विस की सुविधा पर कंट्रोल

डिफ़ॉल्ट रूप से, ज़्यादातर कार सेवाएं ज़रूरी होती हैं और हमेशा चालू रहती हैं. हालांकि, आपके पास कार की सेवाओं के किसी सबसेट को ज़रूरी नहीं के तौर पर सेट करने का विकल्प है. ऐसा इसलिए, क्योंकि हो सकता है कि कुछ सुविधाएं हर कार के साथ काम न करें.

वैकल्पिक सुविधाओं की सूची

कार को कंट्रोल करने की वैकल्पिक सुविधाओं को चालू और बंद किया जा सकता है. इन सुविधाओं की जानकारी नीचे दी गई टेबल में दी गई है.

कार को कंट्रोल करने की सुविधा स्ट्रिंग मान
कार की ईवीएस सेवा 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

कार को कंट्रोल करने की सुविधाएं चालू और बंद करना

अपने बिल्ड में सुविधाओं के लिए सहायता को दो में से किसी एक तरीके से कंट्रोल किया जा सकता है. पहला तरीका, रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल करना और दूसरा तरीका, वाहन के हार्डवेयर एब्स्ट्रैक्शन लेयर (वीएचएएल) का इस्तेमाल करना.

आरआरओ का इस्तेमाल करना

config_allowed_optional_car_features नाम वाले संसाधन कॉन्फ़िगरेशन का इस्तेमाल करें. इसमें, उन सभी वैकल्पिक सुविधाओं की सूची होती है जिन्हें चालू किया जा सकता है. जब किसी कार को पहली बार चालू किया जाता है, तो कार की संभावित वैकल्पिक सुविधाओं को नोट किया जाता है. साथ ही, अगर उन्हें VHAL ने ब्लॉक नहीं किया है, तो उन्हें चालू कर दिया जाता है. आरआरओ के बारे में ज़्यादा जानने के लिए, रनटाइम के दौरान किसी ऐप्लिकेशन के संसाधनों की वैल्यू बदलना देखें.

VHAL का इस्तेमाल करना

वाहन के हार्डवेयर एब्स्ट्रैक्शन लेयर (वीएचएएल), सुविधाओं को कंट्रोल करता है. इसके लिए, यह कुछ वैकल्पिक सुविधाओं को बंद करने के लिए, ब्लॉकलिस्ट के तौर पर काम करता है. DISABLED_OPTIONAL_FEATURES नाम की VHAL प्रॉपर्टी, ओवरले में उन वैकल्पिक सुविधाओं की सूची बनाती है जिन्हें बंद किया जाना है. अगर यह प्रॉपर्टी मौजूद नहीं है, तो आरआरओ की वैकल्पिक सुविधाओं की सूची में मौजूद सभी सुविधाएं चालू होंगी. वीएचएएल के बारे में ज़्यादा जानने के लिए, वीएचएएल की खास जानकारी देखें.

डीबग शेल कमांड का इस्तेमाल करना

वैकल्पिक सुविधाओं को चालू या बंद करने का तीसरा तरीका, शेल कमांड के एक जोड़े का इस्तेमाल करना है. ये कमांड सिर्फ़ 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 डिवाइस को फिर से चालू करने के बाद, बंद की जाने वाली सुविधाएं.