डिफ़ॉल्ट रूप से, कार की ज़्यादातर सेवाएं ज़रूरी होती हैं और ये हमेशा चालू रहती हैं. हालांकि, कार की कुछ सेवाओं को वैकल्पिक के तौर पर तय किया जा सकता है, क्योंकि हो सकता है कि कुछ सुविधाएं हर कार में काम न करें.
वैकल्पिक सुविधाओं की सूची
कार को कंट्रोल करने वाली उन वैकल्पिक सुविधाओं की सूची यहां दी गई है जिन्हें चालू और बंद किया जा सकता है.
| कार को कंट्रोल करने वाली सुविधा | स्ट्रिंग मान |
|---|---|
| कार की ईवीएस सेवा | 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 का इस्तेमाल करें. इसमें, उन सभी वैकल्पिक सुविधाओं की सूची दी गई है जिन्हें चालू किया जा सकता है. कार के पहली बार बूट होने पर, कार की वैकल्पिक सुविधाओं को नोट किया जाता है. अगर वीएचएएल ने उन्हें ब्लॉक नहीं किया है, तो वे चालू हो जाती हैं.
आरआरओ के बारे में ज़्यादा जानने के लिए, रनटाइम पर किसी ऐप्लिकेशन के संसाधनों की वैल्यू बदलना लेख पढ़ें.
वीएचएएल का इस्तेमाल करना
व्हीकल हार्डवेयर ऐब्स्ट्रैक्शन लेयर (वीएचएएल), सुविधाओं को कंट्रोल करती है. इसके लिए, यह एक
ब्लॉकलिस्ट के तौर पर काम करती है, ताकि कुछ वैकल्पिक सुविधाओं को बंद किया जा सके. वीएचएएल की प्रॉपर्टी
DISABLED_OPTIONAL_FEATURES में, ओवरले में मौजूद उन वैकल्पिक सुविधाओं की सूची दी गई है जिन्हें
बंद करना है. अगर यह प्रॉपर्टी मौजूद नहीं है, तो आरआरओ में मौजूद वैकल्पिक सुविधाओं की सूची में शामिल सभी सुविधाएं चालू हो जाती हैं. वीएचएएल के बारे में ज़्यादा जानने के लिए, वीएचएएल की खास जानकारी देखें.
डीबग शेल कमांड का इस्तेमाल करना
वैकल्पिक सुविधाओं को चालू या बंद करने का तीसरा तरीका, शेल कमांड के जोड़े का इस्तेमाल करना है. ये कमांड सिर्फ़ 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 |
वीएचएएल की प्रॉपर्टी
में, वीएचएएल की ओर से बंद की जाने वाली सुविधाएंDISABLED_OPTIONAL_FEATURES. |
mPendingEnabledFeatures |
रीबूट करने पर चालू होने वाली सुविधाएं. |
mPendingDisabledFeatures |
रीबूट करने के बाद बंद होने वाली सुविधाएं. |