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

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

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

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

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

वीएचएएल का इस्तेमाल करना

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